File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    00429e40
    00429e40Exception.CreateResFmtHelp_2:
    00429e40push rbp
    00429e41push rbx
    00429e42sub rsp, 72
    00429e46mov rbp, rsp
    00429e49mov [rbp+48], 0
    00429e51mov [rbp+40], 0
    00429e59mov [rbp+56], rbp
    00429e5dmov [rbp+96], rcx
    00429e61mov [rbp+104], dl
    00429e64mov [rbp+112], r8
    00429e68mov [rbp+120], r9
    00429e6cmov eax, [rbp+128]
    00429e72mov [rbp+128], eax
    00429e78mov eax, [rbp+136]
    00429e7emov [rbp+136], eax
    00429e84cmp [rbp+104], 0
    00429e88je 0x429e9c
    00429e8amov rcx, [rbp+96]
    00429e8emovzx rdx, [rbp+104]
    00429e93call fn_409530
    00429e98mov [rbp+96], rax
    00429e9c
    00429e9cloc_429e9c:
    00429e9cnop
    00429e9dnop
    00429e9elea rcx, [rbp+40]
    00429ea2mov rdx, [rbp+112]
    00429ea6call fn_414600
    00429eablea rcx, [rbp+48]
    00429eafmov rdx, [rbp+40]
    00429eb3mov r8, [rbp+120]
    00429eb7mov r9l, [rbp+128]
    00429ebecall fn_422fd0
    00429ec3mov rax, [rbp+96]
    00429ec7lea rcx, [rax+8]
    00429ecbmov rdx, [rbp+48]
    00429ecfcall fn_40c360
    00429ed4mov rax, [rbp+96]
    00429ed8mov ecx, [rbp+136]
    00429edemov [rax+16], ecx
    00429ee1nop
    00429ee2lea rcx, [rbp+40]
    00429ee6mov edx, 2
    00429eebcall fn_40bdd0
    00429ef0cmp [rbp+104], 0
    00429ef4je 0x429f33
    00429ef6mov rcx, [rbp+96]
    00429efacall fn_409570
    00429effmov [rbp+96], rax
    00429f03jmp 0x429f33
    00429f05
    00429f05 90 90 80 7d 68 00 74 20 48 83 7d ...}h.t H.}
    00429f10 60 00 74 19 48 8b 4d 60 b2 81 48 8b 45 60 48 8b `.t.H.M`..H.E`H.
    00429f20 18 ff 53 e0 48 8b 4d 60 e8 23 f6 fd ff e8 de 10 ..S.H.M`.#......
    00429f30 fe ff 90 ...
    00429f33
    00429f33loc_429f33:
    00429f33mov rax, [rbp+96]
    00429f37lea rsp, [rbp+72]
    00429f3bpop rbx
    00429f3cpop rbp
    00429f3dret
    00429e40
    00429f3e
    00429f3e 48 90 H.
    00429f40
    00429f40fn_429f40:
    00429f40push rbp
    00429f41sub rsp, 32
    00429f45mov rbp, rsp
    00429f48lea rcx, [rdx+40]
    00429f4cmov edx, 2
    00429f51call fn_40bdd0
    00429f56lea rsp, [rbp+32]
    00429f5apop rbp
    00429f5bret
    00429f40
    00429f5c
    00429f5c 48 8d 40 00 H.@.
    00429f60
    00429f60fn_429f60:
    00429f60sub rsp, 40
    00429f64call fn_40b050
    00429f69add rsp, 40
    00429f6dret
    00429f60
    00429f6e
    00429f6e // align 0x10
    00429f70
    00429f70Exception.Destroy:
    00429f70push rsi
    00429f71push rbx
    00429f72sub rsp, 40
    00429f76mov rbx, rcx
    00429f79mov esi, edx
    00429f7cmov rcx, rbx
    00429f7fmov edx, esi
    00429f82call fn_4095d0
    00429f87lea rcx, [rbx+24]
    00429f8bcall fn_42ce30
    00429f90cmp [rip+0x413c0], 0
    00429f98je 0x429fa4
    00429f9amov rcx, [rbx+32]
    00429f9ecall [rip+0x413b4]
    00429fa4
    00429fa4loc_429fa4:
    00429fa4mov [rbx+32], 0
    00429facmov rcx, rbx
    00429fafmov edx, esi
    00429fb2and dl, 252
    00429fb5call TObject.Destroy
    00429fbatest sil, sil
    00429fbdjle 0x429fc7
    00429fbfmov rcx, rbx
    00429fc2call fn_409550
    00429fc7
    00429fc7loc_429fc7:
    00429fc7add rsp, 40
    00429fcbpop rbx
    00429fccpop rsi
    00429fcdret
    00429f70
    00429fce
    00429fce // align 0x10
    00429fd0
    00429fd0Exception.GetBaseException:
    00429fd0mov rax, rcx
    00429fd3jmp 0x429fd8
    00429fd5
    00429fd5loc_429fd5:
    00429fd5mov rax, rcx
    00429fd8
    00429fd8loc_429fd8:
    00429fd8mov rcx, [rax+24]
    00429fdctest rcx, rcx
    00429fdfjne 0x429fd5
    00429fe1ret
    00429fd0
    00429fe2
    00429fe2 // align 0x10
    00429ff0
    00429ff0fn_429ff0:
    00429ff0push rbx
    00429ff1sub rsp, 32
    00429ff5mov rbx, rdx
    00429ff8cmp [rip+0x41350], 0
    0042a000je 0x42a014
    0042a002mov rax, rbx
    0042a005mov rdx, [rcx+32]
    0042a009mov rcx, rax
    0042a00ccall [rip+0x4133e]
    0042a012jmp 0x42a01c
    0042a014
    0042a014loc_42a014:
    0042a014mov rcx, rbx
    0042a017call fn_40bcf0
    0042a01c
    0042a01cloc_42a01c:
    0042a01cmov rax, rbx
    0042a01fadd rsp, 32
    0042a023pop rbx
    0042a024ret
    00429ff0
    0042a025
    0042a025 // align 0x10
    0042a030
    0042a030Exception.RaiseOuterException:
    0042a030sub rsp, 40
    0042a034test rcx, rcx
    0042a037je 0x42a03d
    0042a039mov [rcx+40], 1
    0042a03d
    0042a03dloc_42a03d:
    0042a03dcall fn_40aff0
    0042a042add rsp, 40
    0042a046ret
    0042a030
    0042a047
    0042a047 // align 0x10
    0042a050
    0042a050Exception.ThrowOuterException:
    0042a050sub rsp, 40
    0042a054test rcx, rcx
    0042a057je 0x42a05d
    0042a059mov [rcx+40], 1
    0042a05d
    0042a05dloc_42a05d:
    0042a05dcall fn_40aff0
    0042a062add rsp, 40
    0042a066ret
    0042a050
    0042a067
    0042a067 // align 0x10
    0042a070
    0042a070Exception.Virtual0:
    0042a070push rsi
    0042a071push rbx
    0042a072sub rsp, 40
    0042a076mov rbx, rcx
    0042a079mov rsi, rdx
    0042a07cmov rcx, rbx
    0042a07fcall fn_42a0b0
    0042a084cmp [rip+0x412bc], 0
    0042a08cje 0x42a0a2
    0042a08emov rcx, rsi
    0042a091call [rip+0x412b1]
    0042a097mov rcx, rbx
    0042a09amov rdx, rax
    0042a09dcall fn_42a0f0
    0042a0a2
    0042a0a2loc_42a0a2:
    0042a0a2add rsp, 40
    0042a0a6pop rbx
    0042a0a7pop rsi
    0042a0a8ret
    0042a070
    0042a0a9
    0042a0a9 // align 0x10
    0042a0b0
    0042a0b0fn_42a0b0:
    0042a0b0push rbx
    0042a0b1sub rsp, 32
    0042a0b5mov rbx, rcx
    0042a0b8cmp [rbx+40], 0
    0042a0bcje 0x42a0df
    0042a0becall fn_4058f0
    0042a0c3mov rcx, rax
    0042a0c6mov rdx, [rip-48485]
    0042a0cdcall fn_4090e0
    0042a0d2test al, al
    0042a0d4je 0x42a0df
    0042a0d6call fn_405950
    0042a0dbmov [rbx+24], rax
    0042a0df
    0042a0dfloc_42a0df:
    0042a0dfadd rsp, 32
    0042a0e3pop rbx
    0042a0e4ret
    0042a0b0
    0042a0e5
    0042a0e5 // align 0x10
    0042a0f0
    0042a0f0fn_42a0f0:
    0042a0f0mov [rcx+32], rdx
    0042a0f4ret
    0042a0f0
    0042a0f5
    0042a0f5 // align 0x10
    0042a100
    0042a100Exception.ToString:
    0042a100push rsi
    0042a101push rbx
    0042a102sub rsp, 40
    0042a106mov rbx, rdx
    0042a109mov rsi, rcx
    0042a10cmov rcx, rbx
    0042a10fcall fn_40bcf0
    0042a114test rsi, rsi
    0042a117je 0x42a156
    0042a119
    0042a119loc_42a119:
    0042a119cmp [rbx], 0
    0042a11dje 0x42a141
    0042a11fmov rcx, rbx
    0042a122mov edx, 3
    0042a127mov r8, [rbx]
    0042a12alea r9, [rip+63]
    0042a131mov rax, [rsi+8]
    0042a135mov [rsp+32], rax
    0042a13acall fn_40dbb0
    0042a13fjmp 0x42a14d
    0042a141
    0042a141loc_42a141:
    0042a141mov rcx, rbx
    0042a144mov rdx, [rsi+8]
    0042a148call fn_40c360
    0042a14d
    0042a14dloc_42a14d:
    0042a14dmov rsi, [rsi+24]
    0042a151test rsi, rsi
    0042a154jne 0x42a119
    0042a156
    0042a156loc_42a156:
    0042a156nop
    0042a157mov rax, rbx
    0042a15aadd rsp, 40
    0042a15epop rbx
    0042a15fpop rsi
    0042a160ret
    0042a100
    0042a161
    0042a161 00 00 00 b0 04 02 00 ff ff ff ff 02 00 00 00 ...............
    0042a170 0d 00 0a 00 00 00 cc cc cc cc cc cc cc cc cc cc ................
    0042a180
    0042a180EHeapException.FreeInstance:
    0042a180sub rsp, 40
    0042a184cmp [rcx+48], 0
    0042a188je 0x42a18f
    0042a18acall TObject.FreeInstance
    0042a18f
    0042a18floc_42a18f:
    0042a18fadd rsp, 40
    0042a193ret
    0042a180
    0042a194
    0042a194 // align 0x10
    0042a1a0
    0042a1a0EHeapException.Virtual0:
    0042a1a0sub rsp, 40
    0042a1a4call fn_42a0b0
    0042a1a9add rsp, 40
    0042a1adret
    0042a1a0
    0042a1ae
    0042a1ae // align 0x10
    0042a1b0
    0042a1b0EInOutError.Create:
    0042a1b0push rbp
    0042a1b1push rbx
    0042a1b2sub rsp, 88
    0042a1b6mov rbp, rsp
    0042a1b9mov [rbp+72], rbp
    0042a1bdmov [rbp+112], rcx
    0042a1c1mov [rbp+120], dl
    0042a1c4mov [rbp+128], r8
    0042a1cbmov [rbp+136], r9
    0042a1d2cmp [rbp+120], 0
    0042a1d6je 0x42a1ea
    0042a1d8mov rcx, [rbp+112]
    0042a1dcmovzx rdx, [rbp+120]
    0042a1e1call fn_409530
    0042a1e6mov [rbp+112], rax
    0042a1ea
    0042a1ealoc_42a1ea:
    0042a1eanop
    0042a1ebmov rcx, [rbp+112]
    0042a1efxor edx, edx
    0042a1f1mov r8, [rbp+128]
    0042a1f8call Exception.Create
    0042a1fdmov rax, [rbp+112]
    0042a201lea rcx, [rax+56]
    0042a205mov rdx, [rbp+136]
    0042a20ccall fn_40c360
    0042a211mov rax, [rbp+112]
    0042a215lea rcx, [rax+8]
    0042a219mov edx, 5
    0042a21emov rax, [rbp+112]
    0042a222mov r8, [rax+8]
    0042a226lea r9, [rip+159]
    0042a22dlea rax, [rip+172]
    0042a234mov [rsp+32], rax
    0042a239mov rax, [rbp+136]
    0042a240mov [rsp+40], rax
    0042a245lea rax, [rip+164]
    0042a24cmov [rsp+48], rax
    0042a251call fn_40dbb0
    0042a256cmp [rbp+120], 0
    0042a25aje 0x42a299
    0042a25cmov rcx, [rbp+112]
    0042a260call fn_409570
    0042a265mov [rbp+112], rax
    0042a269jmp 0x42a299
    0042a26b
    0042a26b 90 90 80 7d 78 ...}x
    0042a270 00 74 20 48 83 7d 70 00 74 19 48 8b 4d 70 b2 81 .t H.}p.t.H.Mp..
    0042a280 48 8b 45 70 48 8b 18 ff 53 e0 48 8b 4d 70 e8 bd H.EpH...S.H.Mp..
    0042a290 f2 fd ff e8 78 0d fe ff 90 ....x....
    0042a299
    0042a299loc_42a299:
    0042a299mov rax, [rbp+112]
    0042a29dlea rsp, [rbp+88]
    0042a2a1pop rbx
    0042a2a2pop rbp
    0042a2a3ret
    0042a1b0
    0042a2a4
    0042a2a4 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    0042a2b0
    0042a2b0fn_42a2b0:
    0042a2b0sub rsp, 40
    0042a2b4call fn_40b050
    0042a2b9add rsp, 40
    0042a2bdret
    0042a2b0
    0042a2be
    0042a2be 00 00 ..
    0042a2c0 b0 04 02 00 ff ff ff ff 02 00 00 00 0d 00 0a 00 ................
    0042a2d0 00 00 00 00 b0 04 02 00 ff ff ff ff 01 00 00 00 ................
    0042a2e0 5b 00 00 00 b0 04 02 00 ff ff ff ff 01 00 00 00 [...............
    0042a2f0 5d 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc ]...............
    0042a300
    0042a300EInOutError.CreateRes:
    0042a300push rbp
    0042a301push rbx
    0042a302sub rsp, 56
    0042a306mov rbp, rsp
    0042a309mov [rbp+32], 0
    0042a311mov [rbp+40], rbp
    0042a315mov [rbp+80], rcx
    0042a319mov [rbp+88], dl
    0042a31cmov [rbp+96], r8
    0042a320mov [rbp+104], r9
    0042a324cmp [rbp+88], 0
    0042a328je 0x42a33c
    0042a32amov rcx, [rbp+80]
    0042a32emovzx rdx, [rbp+88]
    0042a333call fn_409530
    0042a338mov [rbp+80], rax
    0042a33c
    0042a33cloc_42a33c:
    0042a33cnop
    0042a33dnop
    0042a33elea rcx, [rbp+32]
    0042a342mov rdx, [rbp+96]
    0042a346call fn_414600
    0042a34bmov rcx, [rbp+80]
    0042a34fxor edx, edx
    0042a351mov r8, [rbp+32]
    0042a355mov r9, [rbp+104]
    0042a359call EInOutError.Create
    0042a35enop
    0042a35flea rcx, [rbp+32]
    0042a363call fn_40bcf0
    0042a368cmp [rbp+88], 0
    0042a36cje 0x42a3ab
    0042a36emov rcx, [rbp+80]
    0042a372call fn_409570
    0042a377mov [rbp+80], rax
    0042a37bjmp 0x42a3ab
    0042a37d
    0042a37d 90 90 80 ...
    0042a380 7d 58 00 74 20 48 83 7d 50 00 74 19 48 8b 4d 50 }X.t H.}P.t.H.MP
    0042a390 b2 81 48 8b 45 50 48 8b 18 ff 53 e0 48 8b 4d 50 ..H.EPH...S.H.MP
    0042a3a0 e8 ab f1 fd ff e8 66 0c fe ff 90 ......f....
    0042a3ab
    0042a3abloc_42a3ab:
    0042a3abmov rax, [rbp+80]
    0042a3aflea rsp, [rbp+56]
    0042a3b3pop rbx
    0042a3b4pop rbp
    0042a3b5ret
    0042a300
    0042a3b6
    0042a3b6 48 90 48 8d 04 05 00 00 00 00 H.H.......
    0042a3c0
    0042a3c0fn_42a3c0:
    0042a3c0push rbp
    0042a3c1sub rsp, 32
    0042a3c5mov rbp, rsp
    0042a3c8lea rcx, [rdx+32]
    0042a3cccall fn_40bcf0
    0042a3d1lea rsp, [rbp+32]
    0042a3d5pop rbp
    0042a3d6ret
    0042a3c0
    0042a3d7
    0042a3d7 90 48 8d 04 05 00 00 00 00 .H.......
    0042a3e0
    0042a3e0fn_42a3e0:
    0042a3e0sub rsp, 40
    0042a3e4call fn_40b050
    0042a3e9add rsp, 40
    0042a3edret
    0042a3e0
    0042a3ee
    0042a3ee // align 0x10
    0042a3f0
    0042a3f0fn_42a3f0:
    0042a3f0push rsi
    0042a3f1push rbx
    0042a3f2sub rsp, 72
    0042a3f6xor ebx, ebx
    0042a3f8call fn_405a90
    0042a3fdmov esi, eax
    0042a3ffjmp 0x42a404
    0042a401
    0042a401loc_42a401:
    0042a401add ebx, 1
    0042a404
    0042a404loc_42a404:
    0042a404cmp ebx, 6
    0042a407jg 0x42a41b
    0042a409lea rax, [rip+0x33480]
    0042a410movsxd rcx, ebx
    0042a413add rcx, rcx
    0042a416cmp [rax+8*rcx], esi
    0042a419jne 0x42a401
    0042a41b
    0042a41bloc_42a41b:
    0042a41bcmp ebx, 6
    0042a41ejg 0x42a441
    0042a420mov rcx, [rip-46063]
    0042a427mov dl, 1
    0042a429lea rax, [rip+0x33468]
    0042a430movsxd rbx, ebx
    0042a433add rbx, rbx
    0042a436mov r8, [rax+8*rbx]
    0042a43acall Exception.Create
    0042a43fjmp 0x42a46c
    0042a441
    0042a441loc_42a441:
    0042a441mov [rsp+48], esi
    0042a445mov [rsp+56], 0
    0042a44amov rcx, [rip-46105]
    0042a451mov dl, 1
    0042a453mov r8, [rip+0x39a8e]
    0042a45alea r9, [rsp+48]
    0042a45fmov [rsp+32], 0
    0042a467call Exception.CreateResFmt_2
    0042a46c
    0042a46cloc_42a46c:
    0042a46cmov [rax+48], esi
    0042a46fadd rsp, 72
    0042a473pop rbx
    0042a474pop rsi
    0042a475ret
    0042a3f0
    0042a476
    0042a476 // align 0x10
    0042a480
    0042a480fn_42a480:
    0042a480push rbx
    0042a481sub rsp, 32
    0042a485mov rbx, rdx
    0042a488mov eax, ecx
    0042a48asub al, 1
    0042a48dtest al, al
    0042a48fje 0x42a4a2
    0042a491sub al, 1
    0042a494test al, al
    0042a496je 0x42a4ab
    0042a498sub al, 1
    0042a49bcmp al, 26
    0042a49ejae 0x42a4f1
    0042a4a0jmp 0x42a4b4
    0042a4a2
    0042a4a2loc_42a4a2:
    0042a4a2mov rax, [rip+0x410af]
    0042a4a9jmp 0x42a4f6
    0042a4ab
    0042a4abloc_42a4ab:
    0042a4abmov rax, [rip+0x410ae]
    0042a4b2jmp 0x42a4f6
    0042a4b4
    0042a4b4loc_42a4b4:
    0042a4b4movzx rcx, cl
    0042a4b8mov rax, [rip+0x39a69]
    0042a4bfmov rdx, [rip+0x39d32]
    0042a4c6mov r8, rcx
    0042a4c9add r8, r8
    0042a4ccmovzx rdx, [rdx+8*r8-48]
    0042a4d2mov rax, [rax+8*rdx]
    0042a4d6mov dl, 1
    0042a4d8mov r8, [rip+0x39d19]
    0042a4dfadd rcx, rcx
    0042a4e2mov r8, [r8+8*rcx-40]
    0042a4e7mov rcx, rax
    0042a4eacall Exception.Create
    0042a4efjmp 0x42a4f6
    0042a4f1
    0042a4f1loc_42a4f1:
    0042a4f1call fn_42a3f0
    0042a4f6
    0042a4f6loc_42a4f6:
    0042a4f6test rbx, rbx
    0042a4f9je 0x42a508
    0042a4fbmov rcx, rax
    0042a4femov rdx, rbx
    0042a501call fn_40aee0
    0042a506jmp 0x42a510
    0042a508
    0042a508loc_42a508:
    0042a508mov rcx, rax
    0042a50bcall fn_40aff0
    0042a510
    0042a510loc_42a510:
    0042a510add rsp, 32
    0042a514pop rbx
    0042a515ret
    0042a480
    0042a516
    0042a516 // align 0x10
    0042a520
    0042a520fn_42a520:
    0042a520push rbp
    0042a521sub rsp, 160
    0042a528mov rbp, rsp
    0042a52bmov [rbp+56], rcx
    0042a52fmov [rbp+64], rdx
    0042a533mov [rbp+76], r8l
    0042a537mov [rbp+80], r9
    0042a53bmov [rbp+96], 0
    0042a543mov [rbp+88], 0
    0042a54bmov [rbp+152], 0
    0042a556nop
    0042a557mov rax, [rbp+56]
    0042a55btest rax, rax
    0042a55eje 0x42a5cd
    0042a560lea rcx, [rbp+152]
    0042a567mov rdx, [rip+0x39c4a]
    0042a56ecall fn_414600
    0042a573mov rax, [rbp+56]
    0042a577mov [rbp+104], rax
    0042a57bmov [rbp+112], 17
    0042a57fmov rax, [rbp+64]
    0042a583mov [rbp+120], rax
    0042a587mov [rbp+128], 17
    0042a58emov eax, [rbp+76]
    0042a591mov [rbp+136], eax
    0042a597mov [rbp+144], 0
    0042a59emov rcx, [rip-40005]
    0042a5a5mov dl, 1
    0042a5a7mov r8, [rbp+152]
    0042a5aelea r9, [rbp+104]
    0042a5b2mov [rsp+32], 2
    0042a5bacall Exception.CreateFmt
    0042a5bfmov rcx, rax
    0042a5c2mov rdx, [rbp+80]
    0042a5c6call fn_40aee0
    0042a5cbjmp 0x42a642
    0042a5cd
    0042a5cdloc_42a5cd:
    0042a5cdlea rcx, [rbp+96]
    0042a5d1mov rdx, [rip+0x39be0]
    0042a5d8call fn_414600
    0042a5ddlea rcx, [rbp+88]
    0042a5e1mov rdx, [rip+0x39b60]
    0042a5e8call fn_414600
    0042a5edmov rax, [rbp+88]
    0042a5f1mov [rbp+104], rax
    0042a5f5mov [rbp+112], 17
    0042a5f9mov rax, [rbp+64]
    0042a5fdmov [rbp+120], rax
    0042a601mov [rbp+128], 17
    0042a608mov eax, [rbp+76]
    0042a60bmov [rbp+136], eax
    0042a611mov [rbp+144], 0
    0042a618mov rcx, [rip-40127]
    0042a61fmov dl, 1
    0042a621mov r8, [rbp+96]
    0042a625lea r9, [rbp+104]
    0042a629mov [rsp+32], 2
    0042a631call Exception.CreateFmt
    0042a636mov rcx, rax
    0042a639mov rdx, [rbp+80]
    0042a63dcall fn_40aee0
    0042a642
    0042a642loc_42a642:
    0042a642nop
    0042a643lea rcx, [rbp+88]
    0042a647mov edx, 2
    0042a64ccall fn_40bdd0
    0042a651lea rcx, [rbp+152]
    0042a658call fn_40bcf0
    0042a65dlea rsp, [rbp+160]
    0042a664pop rbp
    0042a665ret
    0042a520
    0042a666
    0042a666 48 90 48 8d 04 05 00 00 00 00 H.H.......
    0042a670
    0042a670fn_42a670:
    0042a670push rbp
    0042a671push rbx
    0042a672sub rsp, 40
    0042a676mov rbp, rsp
    0042a679mov rbx, rdx
    0042a67clea rcx, [rbx+88]
    0042a680mov edx, 2
    0042a685call fn_40bdd0
    0042a68alea rcx, [rbx+152]
    0042a691call fn_40bcf0
    0042a696lea rsp, [rbp+40]
    0042a69apop rbx
    0042a69bpop rbp
    0042a69cret
    0042a670
    0042a69d
    0042a69d // align 0x10
    0042a6a0
    0042a6a0fn_42a6a0:
    0042a6a0sub rsp, 40
    0042a6a4mov rcx, [rip-39955]
    0042a6abmov dl, 1
    0042a6admov r8, [rip+0x3986c]
    0042a6b4call Exception.CreateRes_2
    0042a6b9mov rcx, rax
    0042a6bccall fn_40aff0
    0042a6c1add rsp, 40
    0042a6c5ret
    0042a6a0
    0042a6c6
    0042a6c6 // align 0x10
    0042a6d0
    0042a6d0fn_42a6d0:
    0042a6d0mov eax, [rcx]
    0042a6d2cmp eax, 0xffffffffc0000092
    0042a6d8jg 0x42a72f
    0042a6dacmp eax, 0xffffffffc0000092
    0042a6e0je 0x42a778
    0042a6e6cmp eax, 0xffffffffc000008e
    0042a6ecjg 0x42a71b
    0042a6eecmp eax, 0xffffffffc000008e
    0042a6f4je 0x42a77c
    0042a6faadd eax, 0x3ffffffb
    0042a700test eax, eax
    0042a702je 0x42a788
    0042a708sub eax, 135
    0042a70etest eax, eax
    0042a710je 0x42a770
    0042a712sub eax, 1
    0042a715test eax, eax
    0042a717jne 0x42a798
    0042a719jmp 0x42a784
    0042a71b
    0042a71bloc_42a71b:
    0042a71badd eax, 0x3fffff71
    0042a721cmp eax, 2
    0042a724jb 0x42a778
    0042a726sub eax, 2
    0042a729test eax, eax
    0042a72bjne 0x42a798
    0042a72djmp 0x42a780
    0042a72f
    0042a72floc_42a72f:
    0042a72fcmp eax, 0xffffffffc0000096
    0042a735jg 0x42a759
    0042a737cmp eax, 0xffffffffc0000096
    0042a73dje 0x42a78c
    0042a73fadd eax, 0x3fffff6d
    0042a745test eax, eax
    0042a747je 0x42a784
    0042a749sub eax, 1
    0042a74ctest eax, eax
    0042a74eje 0x42a76c
    0042a750sub eax, 1
    0042a753test eax, eax
    0042a755jne 0x42a798
    0042a757jmp 0x42a774
    0042a759
    0042a759loc_42a759:
    0042a759add eax, 0x3fffff03
    0042a75ftest eax, eax
    0042a761je 0x42a794
    0042a763sub eax, 61
    0042a766test eax, eax
    0042a768jne 0x42a798
    0042a76ajmp 0x42a790
    0042a76c
    0042a76cloc_42a76c:
    0042a76cmov al, 3
    0042a76ejmp 0x42a79a
    0042a770
    0042a770loc_42a770:
    0042a770mov al, 4
    0042a772jmp 0x42a79a
    0042a774
    0042a774loc_42a774:
    0042a774mov al, 5
    0042a776jmp 0x42a79a
    0042a778
    0042a778loc_42a778:
    0042a778mov al, 6
    0042a77ajmp 0x42a79a
    0042a77c
    0042a77cloc_42a77c:
    0042a77cmov al, 7
    0042a77ejmp 0x42a79a
    0042a780
    0042a780loc_42a780:
    0042a780mov al, 8
    0042a782jmp 0x42a79a
    0042a784
    0042a784loc_42a784:
    0042a784mov al, 9
    0042a786jmp 0x42a79a
    0042a788
    0042a788loc_42a788:
    0042a788mov al, 11
    0042a78ajmp 0x42a79a
    0042a78c
    0042a78cloc_42a78c:
    0042a78cmov al, 12
    0042a78ejmp 0x42a79a
    0042a790
    0042a790loc_42a790:
    0042a790mov al, 13
    0042a792jmp 0x42a79a
    0042a794
    0042a794loc_42a794:
    0042a794mov al, 14
    0042a796jmp 0x42a79a
    0042a798
    0042a798loc_42a798:
    0042a798mov al, 22
    0042a79a
    0042a79aloc_42a79a:
    0042a79aret
    0042a6d0
    0042a79b
    0042a79b // align 0x10
    0042a7a0
    0042a7a0fn_42a7a0:
    0042a7a0sub rsp, 40
    0042a7a4call fn_42a6d0
    0042a7a9mov rcx, [rip+0x39778]
    0042a7b0mov rdx, [rip+0x39a41]
    0042a7b7movzx rax, al
    0042a7bbadd rax, rax
    0042a7bemovzx rax, [rdx+8*rax-48]
    0042a7c4mov rax, [rcx+8*rax]
    0042a7c8add rsp, 40
    0042a7ccret
    0042a7a0
    0042a7cd
    0042a7cd // align 0x10
    0042a7d0
    0042a7d0fn_42a7d0:
    0042a7d0push rbp
    0042a7d1push rbx
    0042a7d2sub rsp, 808
    0042a7d9mov rbp, rsp
    0042a7dcmov [rbp+48], rcx
    0042a7e0mov [rbp+112], 0
    0042a7e8mov [rbp+200], 0
    0042a7f3mov [rbp+128], 0
    0042a7femov [rbp+120], 0
    0042a806mov [rbp+792], 0
    0042a811nop
    0042a812mov rax, [rbp+48]
    0042a816mov rax, [rax+112]
    0042a81amov eax, [rax+32]
    0042a81dsub eax, 1
    0042a820cmp eax, -1
    0042a823je 0x42a832
    0042a825test eax, eax
    0042a827je 0x42a847
    0042a829sub eax, 7
    0042a82ctest eax, eax
    0042a82ejne 0x42a871
    0042a830jmp 0x42a85c
    0042a832
    0042a832loc_42a832:
    0042a832lea rcx, [rbp+792]
    0042a839mov rdx, [rip+0x39a70]
    0042a840call fn_414600
    0042a845jmp 0x42a884
    0042a847
    0042a847loc_42a847:
    0042a847lea rcx, [rbp+792]
    0042a84emov rdx, [rip+0x398c3]
    0042a855call fn_414600
    0042a85ajmp 0x42a884
    0042a85c
    0042a85cloc_42a85c:
    0042a85clea rcx, [rbp+792]
    0042a863mov rdx, [rip+0x3964e]
    0042a86acall fn_414600
    0042a86fjmp 0x42a884
    0042a871
    0042a871loc_42a871:
    0042a871lea rcx, [rbp+792]
    0042a878mov rdx, [rip+0x397c1]
    0042a87fcall fn_414600
    0042a884
    0042a884loc_42a884:
    0042a884mov rax, [rbp+48]
    0042a888mov rax, [rax+112]
    0042a88cmov rbx, [rax+40]
    0042a890mov rax, [rbp+48]
    0042a894mov rax, [rax+112]
    0042a898mov rcx, [rax+16]
    0042a89clea rdx, [rbp+744]
    0042a8a3mov r8l, 48
    0042a8a9call VirtualQuery
    0042a8aemov eax, [rbp+776]
    0042a8b4cmp eax, 4096
    0042a8baje 0x42a8c8
    0042a8bccmp eax, 0x10000
    0042a8c2jne 0x42a99e
    0042a8c8
    0042a8c8loc_42a8c8:
    0042a8c8mov rcx, [rbp+752]
    0042a8cflea rdx, [rbp+222]
    0042a8d6mov r8l, 261
    0042a8dccall GetModuleFileNameW
    0042a8e1test eax, eax
    0042a8e3je 0x42a99e
    0042a8e9lea rcx, [rbp+200]
    0042a8f0mov rdx, [rip+0x398a1]
    0042a8f7call fn_414600
    0042a8fcmov rax, [rbp+48]
    0042a900mov rax, [rax+112]
    0042a904mov rax, [rax+16]
    0042a908mov [rbp+136], rax
    0042a90fmov [rbp+144], 5
    0042a916lea rcx, [rbp+120]
    0042a91alea rdx, [rbp+222]
    0042a921mov r8l, 261
    0042a927call fn_40d7b0
    0042a92clea rcx, [rbp+128]
    0042a933mov rdx, [rbp+120]
    0042a937call fn_422b70
    0042a93cmov rax, [rbp+128]
    0042a943mov [rbp+152], rax
    0042a94amov [rbp+160], 17
    0042a951mov rax, [rbp+792]
    0042a958mov [rbp+168], rax
    0042a95fmov [rbp+176], 17
    0042a966mov [rbp+184], rbx
    0042a96dmov [rbp+192], 5
    0042a974mov rcx, [rip-42523]
    0042a97bmov dl, 1
    0042a97dmov r8, [rbp+200]
    0042a984lea r9, [rbp+136]
    0042a98bmov [rsp+32], 3
    0042a993call Exception.CreateFmt
    0042a998mov [rbp+56], rax
    0042a99cjmp 0x42a9fb
    0042a99e
    0042a99eloc_42a99e:
    0042a99elea rcx, [rbp+112]
    0042a9a2mov rdx, [rip+0x39777]
    0042a9a9call fn_414600
    0042a9aemov rax, [rbp+48]
    0042a9b2mov rax, [rax+112]
    0042a9b6mov rax, [rax+16]
    0042a9bamov [rbp+64], rax
    0042a9bemov [rbp+72], 5
    0042a9c2mov rax, [rbp+792]
    0042a9c9mov [rbp+80], rax
    0042a9cdmov [rbp+88], 17
    0042a9d1mov [rbp+96], rbx
    0042a9d5mov [rbp+104], 5
    0042a9d9mov rcx, [rip-42624]
    0042a9e0mov dl, 1
    0042a9e2mov r8, [rbp+112]
    0042a9e6lea r9, [rbp+64]
    0042a9eamov [rsp+32], 2
    0042a9f2call Exception.CreateFmt
    0042a9f7mov [rbp+56], rax
    0042a9fb
    0042a9fbloc_42a9fb:
    0042a9fbnop
    0042a9fclea rcx, [rbp+112]
    0042aa00mov edx, 3
    0042aa05call fn_40bdd0
    0042aa0alea rcx, [rbp+200]
    0042aa11call fn_40bcf0
    0042aa16lea rcx, [rbp+792]
    0042aa1dcall fn_40bcf0
    0042aa22mov rax, [rbp+56]
    0042aa26lea rsp, [rbp+808]
    0042aa2dpop rbx
    0042aa2epop rbp
    0042aa2fret
    0042a7d0
    0042aa30
    0042aa30fn_42aa30:
    0042aa30push rbp
    0042aa31push rbx
    0042aa32sub rsp, 40
    0042aa36mov rbp, rsp
    0042aa39mov rbx, rdx
    0042aa3clea rcx, [rbx+112]
    0042aa40mov edx, 3
    0042aa45call fn_40bdd0
    0042aa4alea rcx, [rbx+200]
    0042aa51call fn_40bcf0
    0042aa56lea rcx, [rbx+792]
    0042aa5dcall fn_40bcf0
    0042aa62lea rsp, [rbp+40]
    0042aa66pop rbx
    0042aa67pop rbp
    0042aa68ret
    0042aa30
    0042aa69
    0042aa69 // align 0x10
    0042aa70
    0042aa70fn_42aa70:
    0042aa70push rbp
    0042aa71push rsi
    0042aa72push rbx
    0042aa73sub rsp, 80
    0042aa77mov rbp, rsp
    0042aa7amov [rbp+72], 0
    0042aa82mov [rbp+112], rcx
    0042aa86nop
    0042aa87mov rcx, [rbp+112]
    0042aa8bcall fn_42a6d0
    0042aa90movzx rax, al
    0042aa94mov ecx, eax
    0042aa96sub ecx, 3
    0042aa99cmp ecx, 8
    0042aa9cjb 0x42aaad
    0042aa9esub ecx, 8
    0042aaa1test ecx, ecx
    0042aaa3je 0x42aae9
    0042aaa5sub ecx, 1
    0042aaa8cmp ecx, 10
    0042aaabjae 0x42aaf6
    0042aaad
    0042aaadloc_42aaad:
    0042aaadmovsxd rax, eax
    0042aab0mov rcx, [rip+0x39471]
    0042aab7mov rdx, [rip+0x3973a]
    0042aabemov r8, rax
    0042aac1add r8, r8
    0042aac4movzx rdx, [rdx+8*r8-48]
    0042aacamov rcx, [rcx+8*rdx]
    0042aacemov dl, 1
    0042aad0mov r8, [rip+0x39721]
    0042aad7add rax, rax
    0042aadamov r8, [r8+8*rax-40]
    0042aadfcall Exception.Create
    0042aae4mov rbx, rax
    0042aae7jmp 0x42ab34
    0042aae9
    0042aae9loc_42aae9:
    0042aae9mov rcx, rbp
    0042aaeccall fn_42a7d0
    0042aaf1mov rbx, rax
    0042aaf4jmp 0x42ab34
    0042aaf6
    0042aaf6loc_42aaf6:
    0042aaf6lea rcx, [rbp+72]
    0042aafamov rdx, [rip+0x3936f]
    0042ab01call fn_414600
    0042ab06mov rax, [rbp+112]
    0042ab0amov eax, [rax]
    0042ab0cmov [rbp+56], eax
    0042ab0fmov [rbp+64], 0
    0042ab13mov rcx, [rip-46906]
    0042ab1amov dl, 1
    0042ab1cmov r8, [rbp+72]
    0042ab20lea r9, [rbp+56]
    0042ab24mov [rsp+32], 0
    0042ab2ccall Exception.CreateFmt
    0042ab31mov rbx, rax
    0042ab34
    0042ab34loc_42ab34:
    0042ab34mov rcx, rbx
    0042ab37mov rdx, [rip-47286]
    0042ab3ecall fn_4090e0
    0042ab43test al, al
    0042ab45je 0x42ab4f
    0042ab47mov rax, [rbp+112]
    0042ab4bmov [rbx+48], rax
    0042ab4f
    0042ab4floc_42ab4f:
    0042ab4fmov rcx, rbx
    0042ab52mov rdx, [rbp+112]
    0042ab56mov rsi, [rbx]
    0042ab59call [rsi]
    0042ab5bmov [rbp+48], rbx
    0042ab5fnop
    0042ab60lea rcx, [rbp+72]
    0042ab64call fn_40bcf0
    0042ab69mov rax, [rbp+48]
    0042ab6dlea rsp, [rbp+80]
    0042ab71pop rbx
    0042ab72pop rsi
    0042ab73pop rbp
    0042ab74ret
    0042aa70
    0042ab75
    0042ab75 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    0042ab80
    0042ab80fn_42ab80:
    0042ab80push rbp
    0042ab81sub rsp, 32
    0042ab85mov rbp, rsp
    0042ab88lea rcx, [rdx+72]
    0042ab8ccall fn_40bcf0
    0042ab91lea rsp, [rbp+32]
    0042ab95pop rbp
    0042ab96ret
    0042ab80
    0042ab97
    0042ab97 // align 0x10
    0042aba0
    0042aba0fn_42aba0:
    0042aba0push rsi
    0042aba1push rbx
    0042aba2sub rsp, 40
    0042aba6mov rbx, rcx
    0042aba9mov rsi, [rbx+40]
    0042abadmov rcx, rsi
    0042abb0mov rdx, [rip-51279]
    0042abb7call fn_4090e0
    0042abbctest al, al
    0042abbeje 0x42abcb
    0042abc0mov rcx, rsi
    0042abc3mov rdx, rbx
    0042abc6mov rbx, [rsi]
    0042abc9call [rbx]
    0042abcb
    0042abcbloc_42abcb:
    0042abcbadd rsp, 40
    0042abcfpop rbx
    0042abd0pop rsi
    0042abd1ret
    0042aba0
    0042abd2
    0042abd2 // align 0x10
    0042abe0
    0042abe0fn_42abe0:
    0042abe0sub rsp, 40
    0042abe4call fn_429270
    0042abe9mov ecx, 1
    0042abeecall fn_40ba10
    0042abf3add rsp, 40
    0042abf7ret
    0042abe0
    0042abf8
    0042abf8 // align 0x10
    0042ac00
    0042ac00fn_42ac00:
    0042ac00sub rsp, 40
    0042ac04mov rcx, [rip-48387]
    0042ac0bmov dl, 1
    0042ac0dmov r8, [rip+0x392e4]
    0042ac14call Exception.CreateRes_2
    0042ac19mov [rip+0x40938], rax
    0042ac20mov rcx, [rip-44135]
    0042ac27mov dl, 1
    0042ac29mov r8, [rip+0x39498]
    0042ac30call Exception.CreateRes_2
    0042ac35mov [rip+0x40924], rax
    0042ac3cmov rax, [rip+0x39245]
    0042ac43lea rcx, [rip-1994]
    0042ac4amov [rax], rcx
    0042ac4dmov rax, [rip+0x39324]
    0042ac54lea rcx, [rip-123]
    0042ac5bmov [rax], rcx
    0042ac5emov rax, [rip+0x3927b]
    0042ac65mov rcx, [rip-51460]
    0042ac6cmov [rax], rcx
    0042ac6fmov rax, [rip+0x392ea]
    0042ac76lea rcx, [rip-1245]
    0042ac7dmov [rax], rcx
    0042ac80mov rax, [rip+0x392f9]
    0042ac87lea rcx, [rip-542]
    0042ac8emov [rax], rcx
    0042ac91mov rax, [rip+0x39300]
    0042ac98lea rcx, [rip-255]
    0042ac9fmov [rax], rcx
    0042aca2mov rax, [rip+0x39457]
    0042aca9lea rcx, [rip-1936]
    0042acb0mov [rax], rcx
    0042acb3mov rax, [rip+0x391ae]
    0042acbalea rcx, [rip-1569]
    0042acc1mov [rax], rcx
    0042acc4add rsp, 40
    0042acc8ret
    0042ac00
    0042acc9
    0042acc9 // align 0x10
    0042acd0
    0042acd0fn_42acd0:
    0042acd0push rbx
    0042acd1sub rsp, 32
    0042acd5cmp [rip+0x4087b], 0
    0042acddje 0x42ad09
    0042acdfmov rax, [rip+0x40872]
    0042ace6mov [rax+48], 1
    0042aceamov rcx, [rip+0x40867]
    0042acf1mov rax, [rip+0x40860]
    0042acf8mov rbx, [rax]
    0042acfbcall [rbx-40]
    0042acfemov [rip+0x4084f], 0
    0042ad09
    0042ad09loc_42ad09:
    0042ad09cmp [rip+0x4084f], 0
    0042ad11je 0x42ad35
    0042ad13mov rax, [rip+0x40846]
    0042ad1amov [rax+48], 1
    0042ad1emov rcx, [rip+0x4083b]
    0042ad25call TObject.Free
    0042ad2amov [rip+0x4082b], 0
    0042ad35
    0042ad35loc_42ad35:
    0042ad35mov rax, [rip+0x3914c]
    0042ad3cmov [rax], 0
    0042ad43mov rax, [rip+0x3922e]
    0042ad4amov [rax], 0
    0042ad51mov rax, [rip+0x39188]
    0042ad58mov [rax], 0
    0042ad5fmov rax, [rip+0x391fa]
    0042ad66mov [rax], 0
    0042ad6dmov rax, [rip+0x3920c]
    0042ad74mov [rax], 0
    0042ad7bmov rax, [rip+0x3937e]
    0042ad82mov [rax], 0
    0042ad89add rsp, 32
    0042ad8dpop rbx
    0042ad8eret
    0042acd0
    0042ad8f
    0042ad8f // align 0x10
    0042ad90
    0042ad90System.SysUtils.initialization:
    0042ad90sub rsp, 40
    0042ad94sub [rip+0x405a5], 1
    0042ad9bcmp [rip+0x4059e], -1
    0042ada2jne 0x42ada9
    0042ada4call fn_42ac00
    0042ada9
    0042ada9loc_42ada9:
    0042ada9add rsp, 40
    0042adadret
    0042ad90
    0042adae
    0042adae // align 0x10
    0042adb0
    0042adb0System.SysUtils.finalization:
    0042adb0sub rsp, 40
    0042adb4add [rip+0x40585], 1
    0042adbbcmp [rip+0x4057e], 0
    0042adc2jne 0x42adc9
    0042adc4call fn_42acd0
    0042adc9
    0042adc9loc_42adc9:
    0042adc9add rsp, 40
    0042adcdret
    0042adb0
    0042adce
    0042adce // align 0x10
    0042add0
    0042add0fn_42add0:
    0042add0sub rsp, 40
    0042add4call WaitForSingleObject
    0042add9add rsp, 40
    0042adddret
    0042add0
    0042adde
    0042adde // align 0x10
    0042ade0
    0042ade0fn_42ade0:
    0042ade0push rbp
    0042ade1push rdi
    0042ade2push rsi
    0042ade3push rbx
    0042ade4sub rsp, 40
    0042ade8mov rbp, rsp
    0042adebmov r8, rcx
    0042adeemov r9, rdx
    0042adf1
    0042adf1loc_42adf1:
    0042adf1lea rdi, [rbp+16]
    0042adf5mov rsi, r8
    0042adf8movsq [rdi], [rsi]
    0042adfamovsq [rdi], [rsi]
    0042adfcmov rax, [rbp+16]
    0042ae00mov [r9], rax
    0042ae03mov [rbp], r9
    0042ae07mov rax, [rbp+24]
    0042ae0blea rax, [rax+1]
    0042ae0fmov [rbp+8], rax
    0042ae13lea r10, [rbp+16]
    0042ae17mov rdx, [r10+8]
    0042ae1bmov rax, [r10]
    0042ae1emov rcx, [rbp+8]
    0042ae22mov rbx, [rbp]
    0042ae26lock cmpxchg16b [r8]
    0042ae2bsete cl
    0042ae2emov [r10+8], rdx
    0042ae32mov [r10], rax
    0042ae35test cl, cl
    0042ae37je 0x42adf1
    0042ae39lea rsp, [rbp+40]
    0042ae3dpop rbx
    0042ae3epop rsi
    0042ae3fpop rdi
    0042ae40pop rbp
    0042ae41ret
    0042ade0
    0042ae42
    0042ae42 // align 0x10
    0042ae50
    0042ae50fn_42ae50:
    0042ae50push rbp
    0042ae51push rdi
    0042ae52push rsi
    0042ae53push rbx
    0042ae54sub rsp, 40
    0042ae58mov rbp, rsp
    0042ae5bmov r8, rcx
    0042ae5e
    0042ae5eloc_42ae5e:
    0042ae5elea rdi, [rbp+16]
    0042ae62mov rsi, r8
    0042ae65movsq [rdi], [rsi]
    0042ae67movsq [rdi], [rsi]
    0042ae69mov rax, [rbp+16]
    0042ae6dtest rax, rax
    0042ae70jne 0x42ae76
    0042ae72xor eax, eax
    0042ae74jmp 0x42aeb3
    0042ae76
    0042ae76loc_42ae76:
    0042ae76mov rax, [rax]
    0042ae79mov [rbp], rax
    0042ae7dmov rax, [rbp+24]
    0042ae81lea rax, [rax+1]
    0042ae85mov [rbp+8], rax
    0042ae89lea r9, [rbp+16]
    0042ae8dmov rdx, [r9+8]
    0042ae91mov rax, [r9]
    0042ae94mov rcx, [rbp+8]
    0042ae98mov rbx, [rbp]
    0042ae9clock cmpxchg16b [r8]
    0042aea1sete cl
    0042aea4mov [r9+8], rdx
    0042aea8mov [r9], rax
    0042aeabtest cl, cl
    0042aeadje 0x42ae5e
    0042aeafmov rax, [rbp+16]
    0042aeb3
    0042aeb3loc_42aeb3:
    0042aeb3lea rsp, [rbp+40]
    0042aeb7pop rbx
    0042aeb8pop rsi
    0042aeb9pop rdi
    0042aebapop rbp
    0042aebbret
    0042ae50
    0042aebc
    0042aebc // align 0x10
    0042aec0
    0042aec0fn_42aec0:
    0042aec0push rsi
    0042aec1push rbx
    0042aec2sub rsp, 40
    0042aec6xor ebx, ebx
    0042aec8xor ecx, ecx
    0042aecalea rsi, [rip+0x40697]
    0042aed1
    0042aed1loc_42aed1:
    0042aed1cmp [rsi], 0
    0042aed4jne 0x42af05
    0042aed6xor eax, eax
    0042aed8mov edx, 1
    0042aeddlock cmpxchg [rsi], edx
    0042aee1test eax, eax
    0042aee3jne 0x42af05
    0042aee5cmp [rsi+8], 0
    0042aeeajne 0x42aeff
    0042aeecxor ecx, ecx
    0042aeeexor edx, edx
    0042aef0xor r8, r8
    0042aef3xor r9, r9
    0042aef6call CreateEventW
    0042aefbmov [rsi+8], rax
    0042aeff
    0042aeffloc_42aeff:
    0042aeffmov rbx, [rsi+8]
    0042af03jmp 0x42af31
    0042af05
    0042af05loc_42af05:
    0042af05add ecx, 1
    0042af08add rsi, 16
    0042af0ccmp ecx, 32
    0042af0fjne 0x42aed1
    0042af11nop
    0042af12test rbx, rbx
    0042af15jne 0x42af29
    0042af17xor ecx, ecx
    0042af19xor edx, edx
    0042af1bxor r8, r8
    0042af1exor r9, r9
    0042af21call CreateEventW
    0042af26mov rbx, rax
    0042af29
    0042af29loc_42af29:
    0042af29mov rcx, rbx
    0042af2ccall ResetEvent
    0042af31
    0042af31loc_42af31:
    0042af31mov rax, rbx
    0042af34add rsp, 40
    0042af38pop rbx
    0042af39pop rsi
    0042af3aret
    0042aec0
    0042af3b
    0042af3b // align 0x10
    0042af40
    0042af40fn_42af40:
    0042af40sub rsp, 40
    0042af44mov edx, 32
    0042af49lea rax, [rip+0x40620]
    0042af50
    0042af50loc_42af50:
    0042af50cmp [rax], rcx
    0042af53jne 0x42af5d
    0042af55xor ecx, ecx
    0042af57lock xchg [rax-8], ecx
    0042af5bjmp 0x42af6e
    0042af5d
    0042af5dloc_42af5d:
    0042af5dadd rax, 16
    0042af61sub edx, 1
    0042af64test edx, edx
    0042af66jne 0x42af50
    0042af68nop
    0042af69call CloseHandle
    0042af6e
    0042af6eloc_42af6e:
    0042af6eadd rsp, 40
    0042af72ret
    0042af40
    0042af73
    0042af73 // align 0x10
    0042af80
    0042af80fn_42af80:
    0042af80push rbx
    0042af81sub rsp, 32
    0042af85cmp [rip+0x32fb4], 0
    0042af8cje 0x42af92
    0042af8exor eax, eax
    0042af90jmp 0x42af9e
    0042af92
    0042af92loc_42af92:
    0042af92lea rcx, [rip+0x32f87]
    0042af99call fn_42ae50
    0042af9e
    0042af9eloc_42af9e:
    0042af9etest rax, rax
    0042afa1je 0x42afc0
    0042afa3mov rbx, [rax+8]
    0042afa7mov [rax+8], 0
    0042afaflea rcx, [rip+0x32f7a]
    0042afb6mov rdx, rax
    0042afb9call fn_42ade0
    0042afbejmp 0x42afd2
    0042afc0
    0042afc0loc_42afc0:
    0042afc0xor ecx, ecx
    0042afc2xor edx, edx
    0042afc4xor r8, r8
    0042afc7xor r9, r9
    0042afcacall CreateEventW
    0042afcfmov rbx, rax
    0042afd2
    0042afd2loc_42afd2:
    0042afd2mov rcx, rbx
    0042afd5call ResetEvent
    0042afdamov rax, rbx
    0042afddadd rsp, 32
    0042afe1pop rbx
    0042afe2ret
    0042af80
    0042afe3
    0042afe3 // align 0x10
    0042aff0
    0042aff0fn_42aff0:
    0042aff0push rbx
    0042aff1sub rsp, 32
    0042aff5mov rbx, rcx
    0042aff8cmp [rip+0x32f41], 0
    0042afffje 0x42b00b
    0042b001mov rcx, rbx
    0042b004call CloseHandle
    0042b009jmp 0x42b039
    0042b00b
    0042b00bloc_42b00b:
    0042b00blea rcx, [rip+0x32f1e]
    0042b012call fn_42ae50
    0042b017test rax, rax
    0042b01ajne 0x42b026
    0042b01cmov ecx, 16
    0042b021call fn_405700
    0042b026
    0042b026loc_42b026:
    0042b026mov [rax+8], rbx
    0042b02alea rcx, [rip+0x32eef]
    0042b031mov rdx, rax
    0042b034call fn_42ade0
    0042b039
    0042b039loc_42b039:
    0042b039add rsp, 32
    0042b03dpop rbx
    0042b03eret
    0042aff0
    0042b03f
    0042b03f // align 0x10
    0042b040
    0042b040fn_42b040:
    0042b040push rbx
    0042b041sub rsp, 32
    0042b045test rcx, rcx
    0042b048je 0x42b058
    0042b04atest rdx, rdx
    0042b04djne 0x42b058
    0042b04fxor ebx, ebx
    0042b051call SetEvent
    0042b056jmp 0x42b076
    0042b058
    0042b058loc_42b058:
    0042b058test rdx, rdx
    0042b05bje 0x42b071
    0042b05dtest rcx, rcx
    0042b060jne 0x42b071
    0042b062mov rcx, rdx
    0042b065mov edx, r8l
    0042b068call fn_42add0
    0042b06dmov ebx, eax
    0042b06fjmp 0x42b076
    0042b071
    0042b071loc_42b071:
    0042b071mov ebx, 1
    0042b076
    0042b076loc_42b076:
    0042b076mov eax, ebx
    0042b078add rsp, 32
    0042b07cpop rbx
    0042b07dret
    0042b040
    0042b07e
    0042b07e // align 0x10
    0042b080
    0042b080fn_42b080:
    0042b080mov rax, [rip+0x38f81]
    0042b087lea rcx, [rip+0x32eba]
    0042b08emov [rax], rcx
    0042b091ret
    0042b080
    0042b092
    0042b092 // align 0x10
    0042b0a0
    0042b0a0fn_42b0a0:
    0042b0a0push rsi
    0042b0a1push rbx
    0042b0a2sub rsp, 40
    0042b0a6mov rbx, rdx
    0042b0a9mov rsi, rbx
    0042b0actest rsi, rsi
    0042b0afje 0x42b0d5
    0042b0b1
    0042b0b1loc_42b0b1:
    0042b0b1mov rbx, [rsi]
    0042b0b4mov rax, [rsi+8]
    0042b0b8test rax, rax
    0042b0bbje 0x42b0c5
    0042b0bdmov rcx, rax
    0042b0c0call CloseHandle
    0042b0c5
    0042b0c5loc_42b0c5:
    0042b0c5mov rcx, rsi
    0042b0c8call fn_405730
    0042b0cdmov rsi, rbx
    0042b0d0test rsi, rsi
    0042b0d3jne 0x42b0b1
    0042b0d5
    0042b0d5loc_42b0d5:
    0042b0d5nop
    0042b0d6add rsp, 40
    0042b0dapop rbx
    0042b0dbpop rsi
    0042b0dcret
    0042b0a0
    0042b0dd
    0042b0dd // align 0x10
    0042b0e0
    0042b0e0fn_42b0e0:
    0042b0e0push rsi
    0042b0e1push rbx
    0042b0e2sub rsp, 56
    0042b0e6movdqa [rsp+32], x6
    0042b0ecxor ecx, ecx
    0042b0eemov esi, r8l
    0042b0f1mov eax, ecx
    0042b0f3cmp eax, esi
    0042b0f5jg 0x42b146
    0042b0f7sub esi, ecx
    0042b0f9add esi, 1
    0042b0fcmov rbx, rdx
    0042b0ff
    0042b0ffloc_42b0ff:
    0042b0ffcall fn_425d00
    0042b104movapd x6, x0
    0042b108
    0042b108loc_42b108:
    0042b108call fn_425d00
    0042b10dsubsd x0, x6
    0042b111comisd x0, [rip+63]
    0042b119ja 0x42b12a
    0042b11bxor eax, eax
    0042b11dmov ecx, 1
    0042b122lock cmpxchg [rbx], ecx
    0042b126test eax, eax
    0042b128jne 0x42b108
    0042b12a
    0042b12aloc_42b12a:
    0042b12amov rax, [rbx+8]
    0042b12etest rax, rax
    0042b131je 0x42b13b
    0042b133mov rcx, rax
    0042b136call CloseHandle
    0042b13b
    0042b13bloc_42b13b:
    0042b13badd rbx, 16
    0042b13fsub esi, 1
    0042b142test esi, esi
    0042b144jne 0x42b0ff
    0042b146
    0042b146loc_42b146:
    0042b146nop
    0042b147movdqa x6, [rsp+32]
    0042b14dadd rsp, 56
    0042b151pop rbx
    0042b152pop rsi
    0042b153ret
    0042b0e0
    0042b154
    0042b154 48 8d 40 00 f7 4c 7f 1d ea da 48 3e H.@..L....H>
    0042b160
    0042b160fn_42b160:
    0042b160push rbp
    0042b161sub rsp, 32
    0042b165mov rbp, rsp
    0042b168mov [rip+0x32dd1], 1
    0042b16fxor eax, eax
    0042b171lock xchg [rip+0x32da7], rax
    0042b179mov rcx, rbp
    0042b17cmov rdx, rax
    0042b17fcall fn_42b0a0
    0042b184xor eax, eax
    0042b186lock xchg [rip+0x32da2], rax
    0042b18emov rcx, rbp
    0042b191mov rdx, rax
    0042b194call fn_42b0a0
    0042b199mov rcx, rbp
    0042b19clea rdx, [rip+0x403c5]
    0042b1a3mov r8l, 31
    0042b1a9call fn_42b0e0
    0042b1aelea rsp, [rbp+32]
    0042b1b2pop rbp
    0042b1b3ret
    0042b160
    0042b1b4
    0042b1b4 // align 0x10
    0042b1c0
    0042b1c0NetWkstaGetInfo:
    0042b1c0jmp [rip+0x46832]
    0042b1c0
    0042b1c6
    0042b1c6 // align 0x10
    0042b1d0
    0042b1d0NetApiBufferFree:
    0042b1d0jmp [rip+0x4682a]
    0042b1d0
    0042b1d6
    0042b1d6 // align 0x10
    0042b1e0
    0042b1e0fn_42b1e0:
    0042b1e0push rbp
    0042b1e1push rdi
    0042b1e2push rsi
    0042b1e3push rbx
    0042b1e4sub rsp, 56
    0042b1e8mov rbp, rsp
    0042b1ebmov rbx, rcx
    0042b1eemov rsi, rdx
    0042b1f1mov [rbp+40], 0
    0042b1f9xor ecx, ecx
    0042b1fbmov edx, 100
    0042b200lea r8, [rbp+40]
    0042b204call NetWkstaGetInfo
    0042b209test eax, eax
    0042b20bsete dil
    0042b20ftest dil, dil
    0042b212je 0x42b228
    0042b214mov rax, [rbp+40]
    0042b218mov eax, [rax+24]
    0042b21bmov [rbx], eax
    0042b21dmov rax, [rbp+40]
    0042b221mov eax, [rax+28]
    0042b224mov [rsi], eax
    0042b226jmp 0x42b234
    0042b228
    0042b228loc_42b228:
    0042b228mov [rbx], 0
    0042b22emov [rsi], 0
    0042b234
    0042b234loc_42b234:
    0042b234cmp [rbp+40], 0
    0042b239je 0x42b244
    0042b23bmov rcx, [rbp+40]
    0042b23fcall NetApiBufferFree
    0042b244
    0042b244loc_42b244:
    0042b244mov eax, edi
    0042b247lea rsp, [rbp+56]
    0042b24bpop rbx
    0042b24cpop rsi
    0042b24dpop rdi
    0042b24epop rbp
    0042b24fret
    0042b1e0
    0042b250
    0042b250fn_42b250:
    0042b250sub rsp, 328
    0042b257mov eax, [rip+0x402b3]
    0042b25dmov [rip+0x40511], eax
    0042b263mov eax, [rip+0x402ab]
    0042b269mov [rip+0x40509], eax
    0042b26fmov eax, [rip+0x40297]
    0042b275mov [rip+0x40501], eax
    0042b27bmov [rsp+44], 276
    0042b283lea rcx, [rsp+44]
    0042b288call GetVersionExW
    0042b28dtest eax, eax
    0042b28fje 0x42b2b2
    0042b291mov eax, [rsp+60]
    0042b295mov [rip+0x404d5], eax
    0042b29blea rcx, [rip+0x404de]
    0042b2a2lea rdx, [rsp+64]
    0042b2a7mov r8l, 128
    0042b2adcall fn_40d7b0
    0042b2b2
    0042b2b2loc_42b2b2:
    0042b2b2mov [rip+0x32d2f], 1
    0042b2b9add rsp, 328
    0042b2c0ret
    0042b250
    0042b2c1
    0042b2c1 // align 0x10
    0042b2d0
    0042b2d0fn_42b2d0:
    0042b2d0push rbp
    0042b2d1sub rsp, 48
    0042b2d5mov rbp, rsp
    0042b2d8mov [rbp+40], rbp
    0042b2dcmov rcx, [rip+0x40485]
    0042b2e3or edx, -1
    0042b2e6call fn_409960
    0042b2ebnop
    0042b2eccmp [rip+0x32cf5], 0
    0042b2f3jne 0x42b2fa
    0042b2f5call fn_42b250
    0042b2fa
    0042b2faloc_42b2fa:
    0042b2fanop
    0042b2fbmov rcx, [rip+0x40466]
    0042b302call fn_409c80
    0042b307lea rsp, [rbp+48]
    0042b30bpop rbp
    0042b30cret
    0042b2d0
    0042b30d
    0042b30d 48 8b c0 H..
    0042b310
    0042b310fn_42b310:
    0042b310push rbp
    0042b311sub rsp, 32
    0042b315mov rbp, rsp
    0042b318mov rcx, [rip+0x40449]
    0042b31fcall fn_409c80
    0042b324lea rsp, [rbp+32]
    0042b328pop rbp
    0042b329ret
    0042b310
    0042b32a
    0042b32a // align 0x10
    0042b330
    0042b330fn_42b330:
    0042b330sub rsp, 40
    0042b334cmp [rip+0x32cad], 0
    0042b33bjne 0x42b342
    0042b33dcall fn_42b2d0
    0042b342
    0042b342loc_42b342:
    0042b342mov eax, [rip+0x40428]
    0042b348add rsp, 40
    0042b34cret
    0042b330
    0042b34d
    0042b34d // align 0x10
    0042b350
    0042b350fn_42b350:
    0042b350sub rsp, 40
    0042b354cmp [rip+0x32c8d], 0
    0042b35bjne 0x42b362
    0042b35dcall fn_42b2d0
    0042b362
    0042b362loc_42b362:
    0042b362mov eax, [rip+0x4040c]
    0042b368add rsp, 40
    0042b36cret
    0042b350
    0042b36d
    0042b36d // align 0x10
    0042b370
    0042b370fn_42b370:
    0042b370sub rsp, 40
    0042b374cmp [rip+0x32c6d], 0
    0042b37bjne 0x42b382
    0042b37dcall fn_42b2d0
    0042b382
    0042b382loc_42b382:
    0042b382mov eax, [rip+0x403f0]
    0042b388add rsp, 40
    0042b38cret
    0042b370
    0042b38d
    0042b38d // align 0x10
    0042b390
    0042b390fn_42b390:
    0042b390push rsi
    0042b391push rbx
    0042b392sub rsp, 40
    0042b396mov ebx, ecx
    0042b398mov esi, edx
    0042b39acall fn_42b350
    0042b39fcmp eax, ebx
    0042b3a1jg 0x42b3b9
    0042b3a3call fn_42b350
    0042b3a8cmp eax, ebx
    0042b3aajne 0x42b3b5
    0042b3accall fn_42b370
    0042b3b1cmp eax, esi
    0042b3b3jge 0x42b3b9
    0042b3b5
    0042b3b5loc_42b3b5:
    0042b3b5xor eax, eax
    0042b3b7jmp 0x42b3bb
    0042b3b9
    0042b3b9loc_42b3b9:
    0042b3b9mov al, 1
    0042b3bb
    0042b3bbloc_42b3bb:
    0042b3bbadd rsp, 40
    0042b3bfpop rbx
    0042b3c0pop rsi
    0042b3c1ret
    0042b390
    0042b3c2
    0042b3c2 // align 0x10
    0042b3d0
    0042b3d0fn_42b3d0:
    0042b3d0push rbp
    0042b3d1sub rsp, 112
    0042b3d5mov rbp, rsp
    0042b3d8mov [rbp+88], 0
    0042b3e0mov [rbp+40], rbp
    0042b3e4mov [rbp+128], rcx
    0042b3ebmov [rbp+136], rdx
    0042b3f2mov [rbp+144], r8
    0042b3f9mov [rbp+152], r9
    0042b400nop
    0042b401mov [rbp+103], 0
    0042b405lea rcx, [rbp+88]
    0042b409mov rdx, [rbp+128]
    0042b410call fn_40c3e0
    0042b415lea rcx, [rbp+88]
    0042b419call fn_40c6a0
    0042b41emov rcx, [rbp+88]
    0042b422call fn_40d710
    0042b427mov rcx, rax
    0042b42alea rdx, [rbp+80]
    0042b42ecall GetFileVersionInfoSizeW
    0042b433mov [rbp+84], eax
    0042b436cmp [rbp+84], 0
    0042b43aje 0x42b4e0
    0042b440mov ecx, [rbp+84]
    0042b443call fn_405700
    0042b448mov [rbp+104], rax
    0042b44cnop
    0042b44dmov rcx, [rbp+88]
    0042b451call fn_40d710
    0042b456mov rcx, rax
    0042b459mov edx, [rbp+80]
    0042b45cmov r8l, [rbp+84]
    0042b460mov r9, [rbp+104]
    0042b464call GetFileVersionInfoW
    0042b469test eax, eax
    0042b46bje 0x42b4d6
    0042b46dmov rcx, [rbp+104]
    0042b471lea rdx, [rip+192]
    0042b478lea r8, [rbp+72]
    0042b47clea r9, [rbp+68]
    0042b480call VerQueryValueW
    0042b485test eax, eax
    0042b487je 0x42b4d6
    0042b489mov rax, [rbp+72]
    0042b48dmov eax, [rax+16]
    0042b490mov [rbp+64], eax
    0042b493mov rax, [rbp+136]
    0042b49amov ecx, [rbp+64]
    0042b49dshr ecx, 16
    0042b4a0movzx ecx, cx
    0042b4a3mov [rax], ecx
    0042b4a5mov rax, [rbp+144]
    0042b4acmov rcx, [rbp+72]
    0042b4b0movzx ecx, [rcx+16]
    0042b4b4mov [rax], ecx
    0042b4b6mov rax, [rbp+72]
    0042b4bamov eax, [rax+20]
    0042b4bdmov [rbp+60], eax
    0042b4c0mov rax, [rbp+152]
    0042b4c7mov ecx, [rbp+60]
    0042b4cashr ecx, 16
    0042b4cdmovzx ecx, cx
    0042b4d0mov [rax], ecx
    0042b4d2mov [rbp+103], 1
    0042b4d6
    0042b4d6loc_42b4d6:
    0042b4d6nop
    0042b4d7mov rcx, [rbp+104]
    0042b4dbcall fn_405730
    0042b4e0
    0042b4e0loc_42b4e0:
    0042b4e0nop
    0042b4e1lea rcx, [rbp+88]
    0042b4e5call fn_40bcf0
    0042b4eamovzx rax, [rbp+103]
    0042b4eflea rsp, [rbp+112]
    0042b4f3pop rbp
    0042b4f4ret
    0042b3d0
    0042b4f5
    0042b4f5 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    0042b500
    0042b500fn_42b500:
    0042b500push rbp
    0042b501sub rsp, 32
    0042b505mov rbp, rsp
    0042b508mov rcx, [rdx+104]
    0042b50ccall fn_405730
    0042b511lea rsp, [rbp+32]
    0042b515pop rbp
    0042b516ret
    0042b500
    0042b517
    0042b517 90 48 8d 04 05 00 00 00 00 .H.......
    0042b520
    0042b520fn_42b520:
    0042b520push rbp
    0042b521sub rsp, 32
    0042b525mov rbp, rsp
    0042b528lea rcx, [rdx+88]
    0042b52ccall fn_40bcf0
    0042b531lea rsp, [rbp+32]
    0042b535pop rbp
    0042b536ret
    0042b520
    0042b537
    0042b537 00 5c 00 00 00 cc cc cc cc .\.......
    0042b540
    0042b540fn_42b540:
    0042b540xor eax, eax
    0042b542mov r8l, edx
    0042b545sub r8l, 1
    0042b549mov r8l, r8l
    0042b54cmovzx r8, [rcx+2*r8]
    0042b551cmp r8w, -10240
    0042b557jb 0x42b57f
    0042b559cmp r8w, -8193
    0042b55fja 0x42b57f
    0042b561sub edx, 1
    0042b564mov edx, edx
    0042b566movzx rax, [rcx+2*rdx]
    0042b56bcmp ax, -10240
    0042b570jb 0x42b57d
    0042b572cmp ax, -9217
    0042b577ja 0x42b57d
    0042b579mov al, 1
    0042b57bjmp 0x42b57f
    0042b57d
    0042b57dloc_42b57d:
    0042b57dmov al, 2
    0042b57f
    0042b57floc_42b57f:
    0042b57fret
    0042b540
    0042b580
    0042b580fn_42b580:
    0042b580sub rsp, 40
    0042b584mov eax, edx
    0042b586xor edx, edx
    0042b588mov r8, rcx
    0042b58btest r8, r8
    0042b58eje 0x42b594
    0042b590mov edx, [r8-4]
    0042b594
    0042b594loc_42b594:
    0042b594cmp edx, eax
    0042b596jge 0x42b5a3
    0042b598xor eax, eax
    0042b59atest r8, r8
    0042b59dje 0x42b5a3
    0042b59fmov eax, [r8-4]
    0042b5a3
    0042b5a3loc_42b5a3:
    0042b5a3mov edx, eax
    0042b5a5call fn_42b5b0
    0042b5aaadd rsp, 40
    0042b5aeret
    0042b580
    0042b5af
    0042b5af // align 0x10
    0042b5b0
    0042b5b0fn_42b5b0:
    0042b5b0push rdi
    0042b5b1push rsi
    0042b5b2push rbx
    0042b5b3sub rsp, 32
    0042b5b7mov rbx, rcx
    0042b5bamov esi, edx
    0042b5bcxor edi, edi
    0042b5betest esi, esi
    0042b5c0jg 0x42b5c6
    0042b5c2mov al, 1
    0042b5c4jmp 0x42b5d8
    0042b5c6
    0042b5c6loc_42b5c6:
    0042b5c6xor eax, eax
    0042b5c8mov rcx, rbx
    0042b5cbtest rcx, rcx
    0042b5ceje 0x42b5d3
    0042b5d0mov eax, [rcx-4]
    0042b5d3
    0042b5d3loc_42b5d3:
    0042b5d3cmp esi, eax
    0042b5d5setg al
    0042b5d8
    0042b5d8loc_42b5d8:
    0042b5d8test al, al
    0042b5dajne 0x42b613
    0042b5dcmov eax, 1
    0042b5e1cmp eax, esi
    0042b5e3jg 0x42b612
    0042b5e5
    0042b5e5loc_42b5e5:
    0042b5e5movsxd rcx, eax
    0042b5e8movzx rcx, [rbx+2*rcx-2]
    0042b5eecmp cx, -10240
    0042b5f3jb 0x42b608
    0042b5f5cmp cx, -8193
    0042b5faja 0x42b608
    0042b5fcmov rcx, rbx
    0042b5ffmov edx, eax
    0042b601call fn_42b890
    0042b606jmp 0x42b60b
    0042b608
    0042b608loc_42b608:
    0042b608add eax, 1
    0042b60b
    0042b60bloc_42b60b:
    0042b60badd edi, 1
    0042b60ecmp eax, esi
    0042b610jle 0x42b5e5
    0042b612
    0042b612loc_42b612:
    0042b612nop
    0042b613
    0042b613loc_42b613:
    0042b613mov eax, edi
    0042b615add rsp, 32
    0042b619pop rbx
    0042b61apop rsi
    0042b61bpop rdi
    0042b61cret
    0042b5b0
    0042b61d
    0042b61d // align 0x10
    0042b620
    0042b620fn_42b620:
    0042b620push rdi
    0042b621push rsi
    0042b622push rbx
    0042b623sub rsp, 32
    0042b627mov rbx, r8
    0042b62amov rsi, r9
    0042b62dxor eax, eax
    0042b62fmov r8, rcx
    0042b632test r8, r8
    0042b635je 0x42b63b
    0042b637mov eax, [r8-4]
    0042b63b
    0042b63bloc_42b63b:
    0042b63bmov edi, 1
    0042b640mov r8l, 1
    0042b646jmp 0x42b67a
    0042b648
    0042b648loc_42b648:
    0042b648add edi, 1
    0042b64bmovsxd r9, r8l
    0042b64emovzx r9, [rcx+2*r9-2]
    0042b654cmp r9w, -10240
    0042b65ajb 0x42b676
    0042b65ccmp r9w, -8193
    0042b662ja 0x42b676
    0042b664add r8l, 2
    0042b668cmp r8l, eax
    0042b66bjle 0x42b67a
    0042b66dsub edi, 1
    0042b670sub r8l, 1
    0042b674jmp 0x42b67a
    0042b676
    0042b676loc_42b676:
    0042b676add r8l, 1
    0042b67a
    0042b67aloc_42b67a:
    0042b67acmp r8l, eax
    0042b67djge 0x42b683
    0042b67fcmp edi, edx
    0042b681jl 0x42b648
    0042b683
    0042b683loc_42b683:
    0042b683cmp edi, edx
    0042b685jne 0x42b6b2
    0042b687cmp r8l, eax
    0042b68ajge 0x42b6b2
    0042b68cmovsxd rax, r8l
    0042b68fmovzx rax, [rcx+2*rax-2]
    0042b695cmp ax, -10240
    0042b69ajb 0x42b6b2
    0042b69ccmp ax, -8193
    0042b6a1ja 0x42b6b2
    0042b6a3mov edx, r8l
    0042b6a6call fn_42b890
    0042b6abmov r8l, eax
    0042b6aesub r8l, 1
    0042b6b2
    0042b6b2loc_42b6b2:
    0042b6b2mov [rbx], edi
    0042b6b4mov [rsi], r8l
    0042b6b7add rsp, 32
    0042b6bbpop rbx
    0042b6bcpop rsi
    0042b6bdpop rdi
    0042b6beret
    0042b620
    0042b6bf
    0042b6bf // align 0x10
    0042b6c0
    0042b6c0fn_42b6c0:
    0042b6c0push rbp
    0042b6c1push rdi
    0042b6c2push rsi
    0042b6c3push rbx
    0042b6c4sub rsp, 56
    0042b6c8mov rbp, rsp
    0042b6cbmov rbx, rcx
    0042b6cemov esi, edx
    0042b6d0mov [rbp+44], 0
    0042b6d7test esi, esi
    0042b6d9jg 0x42b6df
    0042b6dbmov al, 1
    0042b6ddjmp 0x42b6f1
    0042b6df
    0042b6dfloc_42b6df:
    0042b6dfxor eax, eax
    0042b6e1mov rcx, rbx
    0042b6e4test rcx, rcx
    0042b6e7je 0x42b6ec
    0042b6e9mov eax, [rcx-4]
    0042b6ec
    0042b6ecloc_42b6ec:
    0042b6eccmp esi, eax
    0042b6eesetg al
    0042b6f1
    0042b6f1loc_42b6f1:
    0042b6f1test al, al
    0042b6f3jne 0x42b75d
    0042b6f5mov edi, esi
    0042b6f7sub edi, 1
    0042b6famov rcx, rbx
    0042b6fdmov edx, edi
    0042b6fflea r8, [rbp+40]
    0042b703lea r9, [rbp+44]
    0042b707call fn_42b620
    0042b70ccmp [rbp+40], edi
    0042b70fjge 0x42b715
    0042b711mov al, 1
    0042b713jmp 0x42b747
    0042b715
    0042b715loc_42b715:
    0042b715xor eax, eax
    0042b717test rbx, rbx
    0042b71aje 0x42b71f
    0042b71cmov eax, [rbx-4]
    0042b71f
    0042b71floc_42b71f:
    0042b71fcmp [rbp+44], eax
    0042b722jl 0x42b745
    0042b724cmp [rbp+44], 1
    0042b728jne 0x42b73c
    0042b72axor eax, eax
    0042b72ctest rbx, rbx
    0042b72fje 0x42b734
    0042b731mov eax, [rbx-4]
    0042b734
    0042b734loc_42b734:
    0042b734cmp [rbp+44], eax
    0042b737setle al
    0042b73ajmp 0x42b73e
    0042b73c
    0042b73cloc_42b73c:
    0042b73cxor eax, eax
    0042b73e
    0042b73eloc_42b73e:
    0042b73etest al, al
    0042b740sete al
    0042b743jmp 0x42b747
    0042b745
    0042b745loc_42b745:
    0042b745xor eax, eax
    0042b747
    0042b747loc_42b747:
    0042b747test al, al
    0042b749je 0x42b754
    0042b74bmov [rbp+44], 0
    0042b752jmp 0x42b75d
    0042b754
    0042b754loc_42b754:
    0042b754cmp esi, 1
    0042b757jle 0x42b75d
    0042b759add [rbp+44], 1
    0042b75d
    0042b75dloc_42b75d:
    0042b75dmov eax, [rbp+44]
    0042b760lea rsp, [rbp+56]
    0042b764pop rbx
    0042b765pop rsi
    0042b766pop rdi
    0042b767pop rbp
    0042b768ret
    0042b6c0
    0042b769
    0042b769 // align 0x10
    0042b770
    0042b770fn_42b770:
    0042b770push rbp
    0042b771push rbx
    0042b772sub rsp, 56
    0042b776mov rbp, rsp
    0042b779mov eax, edx
    0042b77bmov [rbp+44], 0
    0042b782test eax, eax
    0042b784jle 0x42b7d0
    0042b786xor edx, edx
    0042b788mov rbx, rcx
    0042b78btest rbx, rbx
    0042b78eje 0x42b793
    0042b790mov edx, [rbx-4]
    0042b793
    0042b793loc_42b793:
    0042b793cmp eax, edx
    0042b795jle 0x42b7a1
    0042b797xor eax, eax
    0042b799test rbx, rbx
    0042b79cje 0x42b7a1
    0042b79emov eax, [rbx-4]
    0042b7a1
    0042b7a1loc_42b7a1:
    0042b7a1mov edx, eax
    0042b7a3lea r8, [rbp+40]
    0042b7a7lea r9, [rbp+44]
    0042b7abcall fn_42b620
    0042b7b0xor eax, eax
    0042b7b2test rbx, rbx
    0042b7b5je 0x42b7ba
    0042b7b7mov eax, [rbx-4]
    0042b7ba
    0042b7baloc_42b7ba:
    0042b7baadd eax, eax
    0042b7bccmp [rbp+44], eax
    0042b7bfjle 0x42b7d0
    0042b7c1xor eax, eax
    0042b7c3test rbx, rbx
    0042b7c6je 0x42b7cb
    0042b7c8mov eax, [rbx-4]
    0042b7cb
    0042b7cbloc_42b7cb:
    0042b7cbadd eax, eax
    0042b7cdmov [rbp+44], eax
    0042b7d0
    0042b7d0loc_42b7d0:
    0042b7d0mov eax, [rbp+44]
    0042b7d3lea rsp, [rbp+56]
    0042b7d7pop rbx
    0042b7d8pop rbp
    0042b7d9ret
    0042b770
    0042b7da
    0042b7da // align 0x10
    0042b7e0
    0042b7e0fn_42b7e0:
    0042b7e0movzx rax, [rcx]
    0042b7e4cmp ax, -10240
    0042b7e9jb 0x42b809
    0042b7ebcmp ax, -9217
    0042b7f0ja 0x42b809
    0042b7f2cmp [rcx+2], -9216
    0042b7f8jb 0x42b809
    0042b7facmp [rcx+2], -8193
    0042b800ja 0x42b809
    0042b802mov eax, 4
    0042b807jmp 0x42b80e
    0042b809
    0042b809loc_42b809:
    0042b809mov eax, 2
    0042b80e
    0042b80eloc_42b80e:
    0042b80eret
    0042b7e0
    0042b80f
    0042b80f // align 0x10
    0042b810
    0042b810fn_42b810:
    0042b810mov rax, rcx
    0042b813movzx rcx, [rax]
    0042b817cmp cx, -10240
    0042b81cjb 0x42b83b
    0042b81ecmp cx, -9217
    0042b823ja 0x42b83b
    0042b825cmp [rax+2], -9216
    0042b82bjb 0x42b83b
    0042b82dcmp [rax+2], -8193
    0042b833ja 0x42b83b
    0042b835add rax, 4
    0042b839jmp 0x42b844
    0042b83b
    0042b83bloc_42b83b:
    0042b83btest cx, cx
    0042b83eje 0x42b844
    0042b840add rax, 2
    0042b844
    0042b844loc_42b844:
    0042b844ret
    0042b810
    0042b845
    0042b845 // align 0x10
    0042b850
    0042b850fn_42b850:
    0042b850push rbx
    0042b851sub rsp, 32
    0042b855mov ebx, edx
    0042b857mov eax, 2
    0042b85cmovsxd rdx, ebx
    0042b85fmovzx rdx, [rcx+2*rdx-2]
    0042b865cmp dx, -10240
    0042b86ajb 0x42b885
    0042b86ccmp dx, -8193
    0042b871ja 0x42b885
    0042b873call fn_40d710
    0042b878movsxd rbx, ebx
    0042b87blea rcx, [rax+2*rbx-2]
    0042b880call fn_42b7e0
    0042b885
    0042b885loc_42b885:
    0042b885add rsp, 32
    0042b889pop rbx
    0042b88aret
    0042b850
    0042b88b
    0042b88b // align 0x10
    0042b890
    0042b890fn_42b890:
    0042b890push rbx
    0042b891sub rsp, 32
    0042b895mov ebx, edx
    0042b897mov eax, ebx
    0042b899add eax, 1
    0042b89cmovsxd rdx, ebx
    0042b89fmovzx rdx, [rcx+2*rdx-2]
    0042b8a5cmp dx, -10240
    0042b8aajb 0x42b8d3
    0042b8accmp dx, -8193
    0042b8b1ja 0x42b8d3
    0042b8b3call fn_40d710
    0042b8b8movsxd rcx, ebx
    0042b8bblea rcx, [rax+2*rcx-2]
    0042b8c0call fn_42b7e0
    0042b8c5mov ecx, eax
    0042b8c7shr ecx, 31
    0042b8caadd ecx, eax
    0042b8ccsar ecx, 1
    0042b8cfmov eax, ebx
    0042b8d1add eax, ecx
    0042b8d3
    0042b8d3loc_42b8d3:
    0042b8d3add rsp, 32
    0042b8d7pop rbx
    0042b8d8ret
    0042b890
    0042b8d9
    0042b8d9 // align 0x10
    0042b8e0
    0042b8e0fn_42b8e0:
    0042b8e0push rbp
    0042b8e1push r13
    0042b8e3push rdi
    0042b8e4push rsi
    0042b8e5push rbx
    0042b8e6sub rsp, 64
    0042b8eamov rbp, rsp
    0042b8edmov rbx, rcx
    0042b8f0mov esi, edx
    0042b8f2mov rdi, r8
    0042b8f5mov r13l, r9l
    0042b8f8test rbx, rbx
    0042b8fbje 0x42b914
    0042b8fdtest rdi, rdi
    0042b900je 0x42b914
    0042b902cmp [rbp+144], 0
    0042b909je 0x42b925
    0042b90bcmp [rbp+144], 1
    0042b912je 0x42b925
    0042b914
    0042b914loc_42b914:
    0042b914mov ecx, 87
    0042b919call SetLastError
    0042b91exor eax, eax
    0042b920jmp 0x42b9ef
    0042b925
    0042b925loc_42b925:
    0042b925cmp esi, -1
    0042b928jg 0x42b934
    0042b92amov rcx, rbx
    0042b92dcall fn_40c5a0
    0042b932mov esi, eax
    0042b934
    0042b934loc_42b934:
    0042b934cmp r13l, -1
    0042b938jg 0x42b945
    0042b93amov rcx, rdi
    0042b93dcall fn_40c5a0
    0042b942mov r13l, eax
    0042b945
    0042b945loc_42b945:
    0042b945cmp rbx, rdi
    0042b948jne 0x42b954
    0042b94amov eax, esi
    0042b94csub eax, r13l
    0042b94fjmp 0x42b9d4
    0042b954
    0042b954loc_42b954:
    0042b954mov [rbp+56], rbx
    0042b958mov [rbp+40], rdi
    0042b95c
    0042b95cloc_42b95c:
    0042b95cmov ebx, esi
    0042b95ecmp ebx, r13l
    0042b961jle 0x42b966
    0042b963mov ebx, r13l
    0042b966
    0042b966loc_42b966:
    0042b966test ebx, ebx
    0042b968jle 0x42b9ce
    0042b96acmp ebx, 32752
    0042b970jle 0x42b977
    0042b972mov ebx, 32752
    0042b977
    0042b977loc_42b977:
    0042b977mov eax, ebx
    0042b979add eax, eax
    0042b97bmov [rbp+48], ax
    0042b97fmov [rbp+50], ax
    0042b983movzx rax, [rbp+48]
    0042b988mov [rbp+32], ax
    0042b98cmov [rbp+34], ax
    0042b990lea rcx, [rbp+48]
    0042b994lea rdx, [rbp+32]
    0042b998cmp [rbp+144], 0
    0042b99fsetne r8b
    0042b9a3call [rip+0x3fde7]
    0042b9a9test eax, eax
    0042b9abjne 0x42b9ef
    0042b9adsub esi, ebx
    0042b9afsub r13l, ebx
    0042b9b2movsxd rbx, ebx
    0042b9b5lea rax, [rbp+56]
    0042b9b9mov rcx, rbx
    0042b9bcadd rcx, rcx
    0042b9bfadd [rax], rcx
    0042b9c2lea rax, [rbp+40]
    0042b9c6add rbx, rbx
    0042b9c9add [rax], rbx
    0042b9ccjmp 0x42b95c
    0042b9ce
    0042b9celoc_42b9ce:
    0042b9cenop
    0042b9cfmov eax, esi
    0042b9d1sub eax, r13l
    0042b9d4
    0042b9d4loc_42b9d4:
    0042b9d4test eax, eax
    0042b9d6jne 0x42b9df
    0042b9d8mov eax, 2
    0042b9ddjmp 0x42b9ef
    0042b9df
    0042b9dfloc_42b9df:
    0042b9dftest eax, eax
    0042b9e1jge 0x42b9ea
    0042b9e3mov eax, 1
    0042b9e8jmp 0x42b9ef
    0042b9ea
    0042b9ealoc_42b9ea:
    0042b9eamov eax, 3
    0042b9ef
    0042b9efloc_42b9ef:
    0042b9eflea rsp, [rbp+64]
    0042b9f3pop rbx
    0042b9f4pop rsi
    0042b9f5pop rdi
    0042b9f6pop r13
    0042b9f8pop rbp
    0042b9f9ret
    0042b8e0
    0042b9fa
    0042b9fa // align 0x10
    0042ba00
    0042ba00fn_42ba00:
    0042ba00sub rsp, 40
    0042ba04mov ecx, 6
    0042ba09xor edx, edx
    0042ba0bcall fn_42b390
    0042ba10test al, al
    0042ba12je 0x42ba38
    0042ba14lea rcx, [rip+85]
    0042ba1bcall GetModuleHandleW
    0042ba20mov rcx, rax
    0042ba23lea rdx, [rip+96]
    0042ba2acall fn_416780
    0042ba2fmov [rip+0x3fd52], rax
    0042ba36jmp 0x42ba68
    0042ba38
    0042ba38loc_42ba38:
    0042ba38lea rcx, [rip+117]
    0042ba3fcall GetModuleHandleW
    0042ba44mov rcx, rax
    0042ba47lea rdx, [rip+122]
    0042ba4ecall fn_416780
    0042ba53mov [rip+0x3fd36], rax
    0042ba5alea rax, [rip-385]
    0042ba61mov [rip+0x3fd20], rax
    0042ba68
    0042ba68loc_42ba68:
    0042ba68add rsp, 40
    0042ba6cret
    0042ba00
    0042ba6d
    0042ba6d 00 00 00 ...
    0042ba70 6b 00 65 00 72 00 6e 00 65 00 6c 00 33 00 32 00 k.e.r.n.e.l.3.2.
    0042ba80 2e 00 64 00 6c 00 6c 00 00 00 43 00 6f 00 6d 00 ..d.l.l...C.o.m.
    0042ba90 70 00 61 00 72 00 65 00 53 00 74 00 72 00 69 00 p.a.r.e.S.t.r.i.
    0042baa0 6e 00 67 00 4f 00 72 00 64 00 69 00 6e 00 61 00 n.g.O.r.d.i.n.a.
    0042bab0 6c 00 00 00 4e 00 54 00 44 00 4c 00 4c 00 2e 00 l...N.T.D.L.L...
    0042bac0 44 00 4c 00 4c 00 00 00 52 00 74 00 6c 00 43 00 D.L.L...R.t.l.C.
    0042bad0 6f 00 6d 00 70 00 61 00 72 00 65 00 55 00 6e 00 o.m.p.a.r.e.U.n.
    0042bae0 69 00 63 00 6f 00 64 00 65 00 53 00 74 00 72 00 i.c.o.d.e.S.t.r.
    0042baf0 69 00 6e 00 67 00 00 00 cc cc cc cc cc cc cc cc i.n.g...........
    0042bb00
    0042bb00fn_42bb00:
    0042bb00sub rsp, 40
    0042bb04call fn_422df0
    0042bb09add rsp, 40
    0042bb0dret
    0042bb00
    0042bb0e
    0042bb0e // align 0x10
    0042bb10
    0042bb10fn_42bb10:
    0042bb10sub rsp, 40
    0042bb14call fn_422db0
    0042bb19add rsp, 40
    0042bb1dret
    0042bb10
    0042bb1e
    0042bb1e // align 0x10
    0042bb20
    0042bb20fn_42bb20:
    0042bb20push rbp
    0042bb21push rbx
    0042bb22sub rsp, 40
    0042bb26mov rbp, rsp
    0042bb29mov rbx, rcx
    0042bb2cxor ecx, ecx
    0042bb2elea rdx, [rbx+44]
    0042bb32call GetCPInfo
    0042bb37xor eax, eax
    0042bb39jmp 0x42bb7c
    0042bb3b
    0042bb3bloc_42bb3b:
    0042bb3bmovsxd rcx, eax
    0042bb3emovzx rdx, [rbx+rcx+50]
    0042bb44mov ecx, eax
    0042bb46add ecx, 1
    0042bb49movsxd rcx, ecx
    0042bb4cmovzx r8, [rbx+rcx+50]
    0042bb52mov ecx, edx
    0042bb54cmp cl, r8b
    0042bb57ja 0x42bb78
    0042bb59sub r8b, dl
    0042bb5cadd r8b, 1
    0042bb60
    0042bb60loc_42bb60:
    0042bb60movzx rdx, cl
    0042bb64bts [rip+0x30d34], rdx
    0042bb6cadd cl, 1
    0042bb6fsub r8b, 1
    0042bb73test r8b, r8b
    0042bb76jne 0x42bb60
    0042bb78
    0042bb78loc_42bb78:
    0042bb78nop
    0042bb79add eax, 2
    0042bb7c
    0042bb7cloc_42bb7c:
    0042bb7ccmp eax, 12
    0042bb7fjge 0x42bb9a
    0042bb81movsxd rcx, eax
    0042bb84mov edx, eax
    0042bb86add edx, 1
    0042bb89movsxd rdx, edx
    0042bb8cmovzx rcx, [rbx+rcx+50]
    0042bb92or cl, [rbx+rdx+50]
    0042bb96test cl, cl
    0042bb98jne 0x42bb3b
    0042bb9a
    0042bb9aloc_42bb9a:
    0042bb9alea rsp, [rbp+40]
    0042bb9epop rbx
    0042bb9fpop rbp
    0042bba0ret
    0042bb20
    0042bba1
    0042bba1 // align 0x10
    0042bbb0
    0042bbb0fn_42bbb0:
    0042bbb0push rbp
    0042bbb1push rdi
    0042bbb2sub rsp, 72
    0042bbb6mov rbp, rsp
    0042bbb9mov [rip+0x3f79d], 1033
    0042bbc3mov [rip+0x3f797], 9
    0042bbcdmov [rip+0x3f791], 1
    0042bbd7call GetThreadLocale
    0042bbdctest eax, eax
    0042bbdeje 0x42bbe6
    0042bbe0mov [rip+0x3f77a], eax
    0042bbe6
    0042bbe6loc_42bbe6:
    0042bbe6test ax, ax
    0042bbe9je 0x42bc07
    0042bbebmov ecx, eax
    0042bbedand cx, 1023
    0042bbf2movzx ecx, cx
    0042bbf5mov [rip+0x3f769], ecx
    0042bbfbmovzx eax, ax
    0042bbfeshr eax, 10
    0042bc01mov [rip+0x3f761], eax
    0042bc07
    0042bc07loc_42bc07:
    0042bc07lea rdi, [rip+0x30c92]
    0042bc0exor eax, eax
    0042bc10stosq [rdi], rax
    0042bc12stosq [rdi], rax
    0042bc14stosq [rdi], rax
    0042bc16stosq [rdi], rax
    0042bc18mov [rip+0x3f74e], 1
    0042bc1fmov [rip+0x3f746], 1
    0042bc26mov rcx, rbp
    0042bc29call fn_42bb20
    0042bc2elea rsp, [rbp+72]
    0042bc32pop rdi
    0042bc33pop rbp
    0042bc34ret
    0042bbb0
    0042bc35
    0042bc35 // align 0x10
    0042bc40
    0042bc40fn_42bc40:
    0042bc40push rbp
    0042bc41push rdi
    0042bc42sub rsp, 440
    0042bc49mov rbp, rsp
    0042bc4clea rdi, [rbp+40]
    0042bc50xor eax, eax
    0042bc52mov ecx, 49
    0042bc57rep stosq [rdi], rax
    0042bc5anop
    0042bc5bcall fn_42bbb0
    0042bc60lea rcx, [rbp+40]
    0042bc64mov edx, [rip+0x3f6f6]
    0042bc6acall fn_427660
    0042bc6flea rcx, [rip+0x3f6fa]
    0042bc76lea rdx, [rbp+40]
    0042bc7amov r8, [rip-42105]
    0042bc81call fn_40ef20
    0042bc86nop
    0042bc87lea rcx, [rbp+40]
    0042bc8bmov rdx, [rip-42122]
    0042bc92call fn_40e630
    0042bc97lea rsp, [rbp+440]
    0042bc9epop rdi
    0042bc9fpop rbp
    0042bca0ret
    0042bc40
    0042bca1
    0042bca1 48 8d 80 00 00 00 00 48 8d 04 05 00 00 00 00 H......H.......
    0042bcb0
    0042bcb0fn_42bcb0:
    0042bcb0push rbp
    0042bcb1sub rsp, 32
    0042bcb5mov rbp, rsp
    0042bcb8lea rcx, [rdx+40]
    0042bcbcmov rdx, [rip-42171]
    0042bcc3call fn_40e630
    0042bcc8lea rsp, [rbp+32]
    0042bcccpop rbp
    0042bccdret
    0042bcb0
    0042bcce
    0042bcce // align 0x10
    0042bcd0
    0042bcd0fn_42bcd0:
    0042bcd0ret
    0042bcd0
    0042bcd1
    0042bcd1 00 00 00 00 00 00 00 e0 bc 42 00 00 00 00 00 .........B.....
    0042bce0 11 02 3a 31 04 00 00 00 00 00 00 00 00 00 00 00 ..:1............
    0042bcf0 03 00 00 00 78 10 40 00 00 00 00 00 0f 53 79 73 ....x.@......Sys
    0042bd00 74 65 6d 2e 53 79 73 55 74 69 6c 73 78 10 40 00 tem.SysUtilsx.@.
    0042bd10 00 00 00 00 02 00 cc cc cc cc cc cc cc cc cc cc ................
    0042bd20
    0042bd20fn_42bd20:
    0042bd20push rbp
    0042bd21push r14
    0042bd23push r13
    0042bd25push rdi
    0042bd26push rsi
    0042bd27push rbx
    0042bd28sub rsp, 168
    0042bd2fmov rbp, rsp
    0042bd32mov [rbp+56], rcx
    0042bd36mov [rbp+96], r8
    0042bd3amov [rbp+80], r9
    0042bd3emov [rbp+112], 0
    0042bd46mov [rbp+120], 0
    0042bd4emov [rbp+152], 0
    0042bd59mov [rbp+144], 0
    0042bd64mov [rbp+136], 0
    0042bd6fmov [rbp+128], 0
    0042bd7amov [rbp+232], rdx
    0042bd81nop
    0042bd82xor eax, eax
    0042bd84mov rcx, [rbp+96]
    0042bd88test rcx, rcx
    0042bd8bje 0x42bd90
    0042bd8dmov eax, [rcx-4]
    0042bd90
    0042bd90loc_42bd90:
    0042bd90mov [rbp+68], eax
    0042bd93xor eax, eax
    0042bd95cmp [rbp+232], 0
    0042bd9dje 0x42bda9
    0042bd9fmov rax, [rbp+232]
    0042bda6mov eax, [rax-4]
    0042bda9
    0042bda9loc_42bda9:
    0042bda9mov [rbp+72], eax
    0042bdacmov eax, [rbp+68]
    0042bdaftest eax, eax
    0042bdb1je 0x42bdba
    0042bdb3mov eax, [rbp+72]
    0042bdb6test eax, eax
    0042bdb8jne 0x42bdcf
    0042bdba
    0042bdbaloc_42bdba:
    0042bdbamov rcx, [rbp+56]
    0042bdbemov rdx, [rbp+232]
    0042bdc5call fn_40c360
    0042bdcajmp 0x42c5ea
    0042bdcf
    0042bdcfloc_42bdcf:
    0042bdcfmovzx rax, [rbp+256]
    0042bdd7test al, 2
    0042bddaje 0x42be96
    0042bde0lea rcx, [rbp+144]
    0042bde7mov rdx, [rbp+96]
    0042bdebcall fn_422040
    0042bdf0xor eax, eax
    0042bdf2cmp [rbp+144], 0
    0042bdfaje 0x42be06
    0042bdfcmov rax, [rbp+144]
    0042be03mov eax, [rax-4]
    0042be06
    0042be06loc_42be06:
    0042be06mov [rbp+68], eax
    0042be09lea rcx, [rbp+120]
    0042be0dmov rdx, [rbp+96]
    0042be11call fn_4220a0
    0042be16mov rax, [rbp+120]
    0042be1acmp [rbp+144], rax
    0042be21jne 0x42be27
    0042be23mov al, 1
    0042be25jmp 0x42be4e
    0042be27
    0042be27loc_42be27:
    0042be27cmp [rbp+144], 0
    0042be2fje 0x42be36
    0042be31test rax, rax
    0042be34jne 0x42be3a
    0042be36
    0042be36loc_42be36:
    0042be36xor eax, eax
    0042be38jmp 0x42be4e
    0042be3a
    0042be3aloc_42be3a:
    0042be3amov rcx, [rbp+144]
    0042be41mov rdx, rax
    0042be44call fn_421e90
    0042be49test eax, eax
    0042be4bsete al
    0042be4e
    0042be4eloc_42be4e:
    0042be4enop
    0042be4ftest al, al
    0042be51je 0x42be68
    0042be53lea rcx, [rbp+152]
    0042be5amov rdx, [rbp+232]
    0042be61call fn_40c3e0
    0042be66jmp 0x42beb9
    0042be68
    0042be68loc_42be68:
    0042be68lea rcx, [rbp+152]
    0042be6fmov rdx, [rbp+232]
    0042be76call fn_422040
    0042be7bxor eax, eax
    0042be7dcmp [rbp+152], 0
    0042be85je 0x42be91
    0042be87mov rax, [rbp+152]
    0042be8emov eax, [rax-4]
    0042be91
    0042be91loc_42be91:
    0042be91mov [rbp+72], eax
    0042be94jmp 0x42beb9
    0042be96
    0042be96loc_42be96:
    0042be96lea rcx, [rbp+144]
    0042be9dmov rdx, [rbp+96]
    0042bea1call fn_40c3e0
    0042bea6lea rcx, [rbp+152]
    0042beadmov rdx, [rbp+232]
    0042beb4call fn_40c3e0
    0042beb9
    0042beb9loc_42beb9:
    0042beb9xor eax, eax
    0042bebbcmp [rbp+152], 0
    0042bec3je 0x42becf
    0042bec5mov rax, [rbp+152]
    0042beccmov eax, [rax-4]
    0042becf
    0042becfloc_42becf:
    0042becfxor ecx, ecx
    0042bed1cmp [rbp+232], 0
    0042bed9je 0x42bee5
    0042bedbmov rcx, [rbp+232]
    0042bee2mov ecx, [rcx-4]
    0042bee5
    0042bee5loc_42bee5:
    0042bee5cmp eax, ecx
    0042bee7je 0x42bfd7
    0042beedmov rcx, [rbp+56]
    0042bef1call fn_40bcf0
    0042bef6mov eax, 1
    0042befbmov [rbp+76], eax
    0042befejmp 0x42bfb2
    0042bf03
    0042bf03loc_42bf03:
    0042bf03mov rcx, [rbp+232]
    0042bf0amov edx, [rbp+76]
    0042bf0dsub edx, 1
    0042bf10mov r8, [rbp+96]
    0042bf14xor r9, r9
    0042bf17mov eax, [rbp+68]
    0042bf1amov [rsp+32], eax
    0042bf1emov [rsp+40], 1
    0042bf23call fn_42d770
    0042bf28test eax, eax
    0042bf2ajne 0x42bf80
    0042bf2cmov rcx, [rbp+56]
    0042bf30mov rdx, [rbp+80]
    0042bf34call fn_40d9b0
    0042bf39mov eax, [rbp+76]
    0042bf3cmov ecx, [rbp+68]
    0042bf3fadd eax, ecx
    0042bf41mov [rbp+76], eax
    0042bf44movzx rax, [rbp+256]
    0042bf4ctest al, 1
    0042bf4fjne 0x42bfb2
    0042bf51lea rcx, [rbp+128]
    0042bf58mov rdx, [rbp+232]
    0042bf5fmov r8l, [rbp+76]
    0042bf63mov r9l, 0x7fffffff
    0042bf69call fn_40dca0
    0042bf6emov rcx, [rbp+56]
    0042bf72mov rdx, [rbp+128]
    0042bf79call fn_40d9b0
    0042bf7ejmp 0x42bfd1
    0042bf80
    0042bf80loc_42bf80:
    0042bf80lea rcx, [rbp+112]
    0042bf84mov rax, [rbp+232]
    0042bf8bmov edx, [rbp+76]
    0042bf8emovsxd rdx, edx
    0042bf91movzx rdx, [rax+2*rdx-2]
    0042bf97call fn_40d730
    0042bf9cmov rcx, [rbp+56]
    0042bfa0mov rdx, [rbp+112]
    0042bfa4call fn_40d9b0
    0042bfa9mov eax, [rbp+76]
    0042bfacadd eax, 1
    0042bfafmov [rbp+76], eax
    0042bfb2
    0042bfb2loc_42bfb2:
    0042bfb2xor eax, eax
    0042bfb4mov rcx, [rbp+232]
    0042bfbbtest rcx, rcx
    0042bfbeje 0x42bfc3
    0042bfc0mov eax, [rcx-4]
    0042bfc3
    0042bfc3loc_42bfc3:
    0042bfc3mov ecx, [rbp+76]
    0042bfc6cmp ecx, eax
    0042bfc8mov [rbp+76], ecx
    0042bfcbjle 0x42bf03
    0042bfd1
    0042bfd1loc_42bfd1:
    0042bfd1nop
    0042bfd2jmp 0x42c5e9
    0042bfd7
    0042bfd7loc_42bfd7:
    0042bfd7mov ebx, 1
    0042bfdcxor esi, esi
    0042bfdexor edi, edi
    0042bfe0movzx rax, [rbp+256]
    0042bfe8test al, 1
    0042bfebsete r13b
    0042bfef
    0042bfefloc_42bfef:
    0042bfefmov rcx, [rbp+144]
    0042bff6mov rdx, [rbp+152]
    0042bffdmov r8l, ebx
    0042c000call fn_40dd80
    0042c005mov ebx, eax
    0042c007test ebx, ebx
    0042c009je 0x42c05c
    0042c00badd esi, 1
    0042c00ecmp edi, esi
    0042c010jge 0x42c03b
    0042c012test edi, edi
    0042c014jne 0x42c01d
    0042c016mov edi, 32
    0042c01bjmp 0x42c01f
    0042c01d
    0042c01dloc_42c01d:
    0042c01dadd edi, edi
    0042c01f
    0042c01floc_42c01f:
    0042c01flea rcx, [rbp+136]
    0042c026mov rdx, [rip-853]
    0042c02dmov r8l, 1
    0042c033movsxd r9, edi
    0042c036call fn_410430
    0042c03b
    0042c03bloc_42c03b:
    0042c03bmov rax, [rbp+136]
    0042c042mov ecx, esi
    0042c044sub ecx, 1
    0042c047movsxd rcx, ecx
    0042c04amov edx, ebx
    0042c04csub edx, 1
    0042c04fmov [rax+4*rcx], edx
    0042c052mov eax, [rbp+68]
    0042c055add ebx, eax
    0042c057test r13b, r13b
    0042c05aje 0x42bfef
    0042c05c
    0042c05cloc_42c05c:
    0042c05cnop
    0042c05dtest esi, esi
    0042c05fjle 0x42c5d9
    0042c065xor ebx, ebx
    0042c067mov rax, [rbp+80]
    0042c06btest rax, rax
    0042c06eje 0x42c077
    0042c070mov rax, [rbp+80]
    0042c074mov ebx, [rax-4]
    0042c077
    0042c077loc_42c077:
    0042c077mov r13, [rbp+232]
    0042c07emov r14, [rbp+80]
    0042c082mov eax, [rbp+68]
    0042c085cmp ebx, eax
    0042c087jne 0x42c1c5
    0042c08dmov rcx, [rbp+56]
    0042c091mov edx, [rbp+72]
    0042c094call fn_40d8d0
    0042c099mov rax, [rbp+56]
    0042c09dmov rdi, [rax]
    0042c0a0mov rcx, r13
    0042c0a3mov rdx, rdi
    0042c0a6mov r8l, [rbp+72]
    0042c0aaadd r8l, r8l
    0042c0admovsxd r8, r8l
    0042c0b0call fn_405ac0
    0042c0b5cmp ebx, 1
    0042c0b8jne 0x42c0fe
    0042c0baxor eax, eax
    0042c0bcmov ecx, esi
    0042c0besub ecx, 1
    0042c0c1mov edx, eax
    0042c0c3cmp edx, ecx
    0042c0c5mov [rbp+76], edx
    0042c0c8jg 0x42c0f8
    0042c0casub ecx, eax
    0042c0ccadd ecx, 1
    0042c0cf
    0042c0cfloc_42c0cf:
    0042c0cfmov rax, [rbp+136]
    0042c0d6mov edx, [rbp+76]
    0042c0d9movsxd rdx, edx
    0042c0dcmovsxd rax, [rax+4*rdx]
    0042c0e0movzx rdx, [r14]
    0042c0e4mov [rdi+2*rax], dx
    0042c0e8mov eax, [rbp+76]
    0042c0ebadd eax, 1
    0042c0eemov [rbp+76], eax
    0042c0f1sub ecx, 1
    0042c0f4test ecx, ecx
    0042c0f6jne 0x42c0cf
    0042c0f8
    0042c0f8loc_42c0f8:
    0042c0f8nop
    0042c0f9jmp 0x42c5e9
    0042c0fe
    0042c0feloc_42c0fe:
    0042c0fecmp ebx, 8
    0042c101jg 0x42c176
    0042c103xor eax, eax
    0042c105mov ecx, esi
    0042c107sub ecx, 1
    0042c10amov edx, eax
    0042c10ccmp edx, ecx
    0042c10emov [rbp+76], edx
    0042c111jg 0x42c170
    0042c113sub ecx, eax
    0042c115add ecx, 1
    0042c118
    0042c118loc_42c118:
    0042c118xor edx, edx
    0042c11amov r8l, ebx
    0042c11dsub r8l, 1
    0042c121mov eax, edx
    0042c123cmp eax, r8l
    0042c126jg 0x42c15f
    0042c128sub r8l, edx
    0042c12badd r8l, 1
    0042c12f
    0042c12floc_42c12f:
    0042c12fmov rdx, [rbp+136]
    0042c136mov r9l, [rbp+76]
    0042c13amovsxd r9, r9l
    0042c13dmov edx, [rdx+4*r9]
    0042c141add edx, eax
    0042c143movsxd rdx, edx
    0042c146movsxd r9, eax
    0042c149movzx r9, [r14+2*r9]
    0042c14emov [rdi+2*rdx], r9w
    0042c153add eax, 1
    0042c156sub r8l, 1
    0042c15atest r8l, r8l
    0042c15djne 0x42c12f
    0042c15f
    0042c15floc_42c15f:
    0042c15fnop
    0042c160mov eax, [rbp+76]
    0042c163add eax, 1
    0042c166mov [rbp+76], eax
    0042c169sub ecx, 1
    0042c16ctest ecx, ecx
    0042c16ejne 0x42c118
    0042c170
    0042c170loc_42c170:
    0042c170nop
    0042c171jmp 0x42c5e9
    0042c176
    0042c176loc_42c176:
    0042c176xor eax, eax
    0042c178sub esi, 1
    0042c17bmov ecx, eax
    0042c17dcmp ecx, esi
    0042c17fmov [rbp+76], ecx
    0042c182jg 0x42c1bf
    0042c184sub esi, eax
    0042c186add esi, 1
    0042c189
    0042c189loc_42c189:
    0042c189mov rcx, r14
    0042c18cmov rax, [rbp+136]
    0042c193mov edx, [rbp+76]
    0042c196movsxd rdx, edx
    0042c199movsxd rax, [rax+4*rdx]
    0042c19dlea rdx, [rdi+2*rax]
    0042c1a1mov r8l, ebx
    0042c1a4add r8l, r8l
    0042c1a7movsxd r8, r8l
    0042c1aacall fn_405ac0
    0042c1afmov eax, [rbp+76]
    0042c1b2add eax, 1
    0042c1b5mov [rbp+76], eax
    0042c1b8sub esi, 1
    0042c1bbtest esi, esi
    0042c1bdjne 0x42c189
    0042c1bf
    0042c1bfloc_42c1bf:
    0042c1bfnop
    0042c1c0jmp 0x42c5e9
    0042c1c5
    0042c1c5loc_42c1c5:
    0042c1c5mov rcx, [rbp+56]
    0042c1c9mov eax, ebx
    0042c1cbmov edx, [rbp+68]
    0042c1cesub eax, edx
    0042c1d0imul eax, esi
    0042c1d3mov edx, [rbp+72]
    0042c1d6add edx, eax
    0042c1d8call fn_40d8d0
    0042c1ddmov rax, [rbp+56]
    0042c1e1mov rdi, [rax]
    0042c1e4xor eax, eax
    0042c1e6mov [rbp+88], eax
    0042c1e9xor eax, eax
    0042c1ebmov [rbp+92], eax
    0042c1eetest ebx, ebx
    0042c1f0jne 0x42c31b
    0042c1f6xor eax, eax
    0042c1f8mov ebx, esi
    0042c1fasub ebx, 1
    0042c1fdmov ecx, eax
    0042c1ffcmp ecx, ebx
    0042c201mov [rbp+76], ecx
    0042c204jg 0x42c315
    0042c20asub ebx, eax
    0042c20cadd ebx, 1
    0042c20f
    0042c20floc_42c20f:
    0042c20fmov rax, [rbp+136]
    0042c216mov ecx, [rbp+76]
    0042c219movsxd rcx, ecx
    0042c21cmov eax, [rax+4*rcx]
    0042c21fmov ecx, [rbp+88]
    0042c222sub eax, ecx
    0042c224mov [rbp+108], eax
    0042c227mov eax, [rbp+108]
    0042c22atest eax, eax
    0042c22cjle 0x42c2f6
    0042c232mov eax, [rbp+108]
    0042c235cmp eax, 1
    0042c238jne 0x42c267
    0042c23amov eax, [rbp+92]
    0042c23dmovsxd rax, eax
    0042c240mov ecx, [rbp+88]
    0042c243movsxd rcx, ecx
    0042c246movzx rcx, [r13+2*rcx]
    0042c24cmov [rdi+2*rax], cx
    0042c250mov eax, [rbp+88]
    0042c253add eax, 1
    0042c256mov [rbp+88], eax
    0042c259mov eax, [rbp+92]
    0042c25cadd eax, 1
    0042c25fmov [rbp+92], eax
    0042c262jmp 0x42c2f6
    0042c267
    0042c267loc_42c267:
    0042c267mov eax, [rbp+108]
    0042c26acmp eax, 8
    0042c26djg 0x42c2bf
    0042c26fxor ecx, ecx
    0042c271mov edx, [rbp+108]
    0042c274sub edx, 1
    0042c277mov eax, ecx
    0042c279cmp eax, edx
    0042c27bjg 0x42c2a9
    0042c27dsub edx, ecx
    0042c27fadd edx, 1
    0042c282
    0042c282loc_42c282:
    0042c282mov ecx, [rbp+92]
    0042c285add ecx, eax
    0042c287movsxd rcx, ecx
    0042c28amov r8l, [rbp+88]
    0042c28eadd r8l, eax
    0042c291movsxd r8, r8l
    0042c294movzx r8, [r13+2*r8]
    0042c29amov [rdi+2*rcx], r8w
    0042c29fadd eax, 1
    0042c2a2sub edx, 1
    0042c2a5test edx, edx
    0042c2a7jne 0x42c282
    0042c2a9
    0042c2a9loc_42c2a9:
    0042c2a9nop
    0042c2aamov eax, [rbp+108]
    0042c2admov ecx, [rbp+88]
    0042c2b0add ecx, eax
    0042c2b2mov [rbp+88], ecx
    0042c2b5mov ecx, [rbp+92]
    0042c2b8add ecx, eax
    0042c2bamov [rbp+92], ecx
    0042c2bdjmp 0x42c2f6
    0042c2bf
    0042c2bfloc_42c2bf:
    0042c2bfmov eax, [rbp+88]
    0042c2c2movsxd rax, eax
    0042c2c5lea rcx, [r13+2*rax]
    0042c2camov eax, [rbp+92]
    0042c2cdmovsxd rax, eax
    0042c2d0lea rdx, [rdi+2*rax]
    0042c2d4mov r8l, [rbp+108]
    0042c2d8add r8l, r8l
    0042c2dbmovsxd r8, r8l
    0042c2decall fn_405ac0
    0042c2e3mov eax, [rbp+108]
    0042c2e6mov ecx, [rbp+88]
    0042c2e9add ecx, eax
    0042c2ebmov [rbp+88], ecx
    0042c2eemov ecx, [rbp+92]
    0042c2f1add ecx, eax
    0042c2f3mov [rbp+92], ecx
    0042c2f6
    0042c2f6loc_42c2f6:
    0042c2f6mov eax, [rbp+88]
    0042c2f9mov ecx, [rbp+68]
    0042c2fcadd eax, ecx
    0042c2femov [rbp+88], eax
    0042c301mov eax, [rbp+76]
    0042c304add eax, 1
    0042c307mov [rbp+76], eax
    0042c30asub ebx, 1
    0042c30dtest ebx, ebx
    0042c30fjne 0x42c20f
    0042c315
    0042c315loc_42c315:
    0042c315nop
    0042c316jmp 0x42c5a1
    0042c31b
    0042c31bloc_42c31b:
    0042c31bcmp ebx, 1
    0042c31ejne 0x42c460
    0042c324xor eax, eax
    0042c326mov ebx, esi
    0042c328sub ebx, 1
    0042c32bmov ecx, eax
    0042c32dcmp ecx, ebx
    0042c32fmov [rbp+76], ecx
    0042c332jg 0x42c45a
    0042c338sub ebx, eax
    0042c33aadd ebx, 1
    0042c33d
    0042c33dloc_42c33d:
    0042c33dmov rax, [rbp+136]
    0042c344mov ecx, [rbp+76]
    0042c347movsxd rcx, ecx
    0042c34amov eax, [rax+4*rcx]
    0042c34dmov ecx, [rbp+88]
    0042c350sub eax, ecx
    0042c352mov [rbp+108], eax
    0042c355mov eax, [rbp+108]
    0042c358test eax, eax
    0042c35ajle 0x42c424
    0042c360mov eax, [rbp+108]
    0042c363cmp eax, 1
    0042c366jne 0x42c395
    0042c368mov eax, [rbp+92]
    0042c36bmovsxd rax, eax
    0042c36emov ecx, [rbp+88]
    0042c371movsxd rcx, ecx
    0042c374movzx rcx, [r13+2*rcx]
    0042c37amov [rdi+2*rax], cx
    0042c37emov eax, [rbp+88]
    0042c381add eax, 1
    0042c384mov [rbp+88], eax
    0042c387mov eax, [rbp+92]
    0042c38aadd eax, 1
    0042c38dmov [rbp+92], eax
    0042c390jmp 0x42c424
    0042c395
    0042c395loc_42c395:
    0042c395mov eax, [rbp+108]
    0042c398cmp eax, 8
    0042c39bjg 0x42c3ed
    0042c39dxor ecx, ecx
    0042c39fmov edx, [rbp+108]
    0042c3a2sub edx, 1
    0042c3a5mov eax, ecx
    0042c3a7cmp eax, edx
    0042c3a9jg 0x42c3d7
    0042c3absub edx, ecx
    0042c3adadd edx, 1
    0042c3b0
    0042c3b0loc_42c3b0:
    0042c3b0mov ecx, [rbp+92]
    0042c3b3add ecx, eax
    0042c3b5movsxd rcx, ecx
    0042c3b8mov r8l, [rbp+88]
    0042c3bcadd r8l, eax
    0042c3bfmovsxd r8, r8l
    0042c3c2movzx r8, [r13+2*r8]
    0042c3c8mov [rdi+2*rcx], r8w
    0042c3cdadd eax, 1
    0042c3d0sub edx, 1
    0042c3d3test edx, edx
    0042c3d5jne 0x42c3b0
    0042c3d7
    0042c3d7loc_42c3d7:
    0042c3d7nop
    0042c3d8mov eax, [rbp+108]
    0042c3dbmov ecx, [rbp+88]
    0042c3deadd ecx, eax
    0042c3e0mov [rbp+88], ecx
    0042c3e3mov ecx, [rbp+92]
    0042c3e6add ecx, eax
    0042c3e8mov [rbp+92], ecx
    0042c3ebjmp 0x42c424
    0042c3ed
    0042c3edloc_42c3ed:
    0042c3edmov eax, [rbp+88]
    0042c3f0movsxd rax, eax
    0042c3f3lea rcx, [r13+2*rax]
    0042c3f8mov eax, [rbp+92]
    0042c3fbmovsxd rax, eax
    0042c3felea rdx, [rdi+2*rax]
    0042c402mov r8l, [rbp+108]
    0042c406add r8l, r8l
    0042c409movsxd r8, r8l
    0042c40ccall fn_405ac0
    0042c411mov eax, [rbp+108]
    0042c414mov ecx, [rbp+88]
    0042c417add ecx, eax
    0042c419mov [rbp+88], ecx
    0042c41cmov ecx, [rbp+92]
    0042c41fadd ecx, eax
    0042c421mov [rbp+92], ecx
    0042c424
    0042c424loc_42c424:
    0042c424mov eax, [rbp+92]
    0042c427movsxd rax, eax
    0042c42amovzx rcx, [r14]
    0042c42emov [rdi+2*rax], cx
    0042c432mov eax, [rbp+92]
    0042c435add eax, 1
    0042c438mov [rbp+92], eax
    0042c43bmov eax, [rbp+88]
    0042c43emov ecx, [rbp+68]
    0042c441add eax, ecx
    0042c443mov [rbp+88], eax
    0042c446mov eax, [rbp+76]
    0042c449add eax, 1
    0042c44cmov [rbp+76], eax
    0042c44fsub ebx, 1
    0042c452test ebx, ebx
    0042c454jne 0x42c33d
    0042c45a
    0042c45aloc_42c45a:
    0042c45anop
    0042c45bjmp 0x42c5a1
    0042c460
    0042c460loc_42c460:
    0042c460xor eax, eax
    0042c462sub esi, 1
    0042c465mov ecx, eax
    0042c467cmp ecx, esi
    0042c469mov [rbp+76], ecx
    0042c46cjg 0x42c5a0
    0042c472sub esi, eax
    0042c474add esi, 1
    0042c477
    0042c477loc_42c477:
    0042c477mov rax, [rbp+136]
    0042c47emov ecx, [rbp+76]
    0042c481movsxd rcx, ecx
    0042c484mov eax, [rax+4*rcx]
    0042c487mov ecx, [rbp+88]
    0042c48asub eax, ecx
    0042c48cmov [rbp+108], eax
    0042c48fmov eax, [rbp+108]
    0042c492test eax, eax
    0042c494jle 0x42c55e
    0042c49amov eax, [rbp+108]
    0042c49dcmp eax, 1
    0042c4a0jne 0x42c4cf
    0042c4a2mov eax, [rbp+92]
    0042c4a5movsxd rax, eax
    0042c4a8mov ecx, [rbp+88]
    0042c4abmovsxd rcx, ecx
    0042c4aemovzx rcx, [r13+2*rcx]
    0042c4b4mov [rdi+2*rax], cx
    0042c4b8mov eax, [rbp+88]
    0042c4bbadd eax, 1
    0042c4bemov [rbp+88], eax
    0042c4c1mov eax, [rbp+92]
    0042c4c4add eax, 1
    0042c4c7mov [rbp+92], eax
    0042c4cajmp 0x42c55e
    0042c4cf
    0042c4cfloc_42c4cf:
    0042c4cfmov eax, [rbp+108]
    0042c4d2cmp eax, 8
    0042c4d5jg 0x42c527
    0042c4d7xor ecx, ecx
    0042c4d9mov edx, [rbp+108]
    0042c4dcsub edx, 1
    0042c4dfmov eax, ecx
    0042c4e1cmp eax, edx
    0042c4e3jg 0x42c511
    0042c4e5sub edx, ecx
    0042c4e7add edx, 1
    0042c4ea
    0042c4ealoc_42c4ea:
    0042c4eamov ecx, [rbp+92]
    0042c4edadd ecx, eax
    0042c4efmovsxd rcx, ecx
    0042c4f2mov r8l, [rbp+88]
    0042c4f6add r8l, eax
    0042c4f9movsxd r8, r8l
    0042c4fcmovzx r8, [r13+2*r8]
    0042c502mov [rdi+2*rcx], r8w
    0042c507add eax, 1
    0042c50asub edx, 1
    0042c50dtest edx, edx
    0042c50fjne 0x42c4ea
    0042c511
    0042c511loc_42c511:
    0042c511nop
    0042c512mov eax, [rbp+108]
    0042c515mov ecx, [rbp+88]
    0042c518add ecx, eax
    0042c51amov [rbp+88], ecx
    0042c51dmov ecx, [rbp+92]
    0042c520add ecx, eax
    0042c522mov [rbp+92], ecx
    0042c525jmp 0x42c55e
    0042c527
    0042c527loc_42c527:
    0042c527mov eax, [rbp+88]
    0042c52amovsxd rax, eax
    0042c52dlea rcx, [r13+2*rax]
    0042c532mov eax, [rbp+92]
    0042c535movsxd rax, eax
    0042c538lea rdx, [rdi+2*rax]
    0042c53cmov r8l, [rbp+108]
    0042c540add r8l, r8l
    0042c543movsxd r8, r8l
    0042c546call fn_405ac0
    0042c54bmov eax, [rbp+108]
    0042c54emov ecx, [rbp+88]
    0042c551add ecx, eax
    0042c553mov [rbp+88], ecx
    0042c556mov ecx, [rbp+92]
    0042c559add ecx, eax
    0042c55bmov [rbp+92], ecx
    0042c55e
    0042c55eloc_42c55e:
    0042c55emov rcx, r14
    0042c561mov eax, [rbp+92]
    0042c564movsxd rax, eax
    0042c567lea rdx, [rdi+2*rax]
    0042c56bmov r8l, ebx
    0042c56eadd r8l, r8l
    0042c571movsxd r8, r8l
    0042c574call fn_405ac0
    0042c579mov eax, [rbp+92]
    0042c57cadd eax, ebx
    0042c57emov [rbp+92], eax
    0042c581mov eax, [rbp+88]
    0042c584mov ecx, [rbp+68]
    0042c587add eax, ecx
    0042c589mov [rbp+88], eax
    0042c58cmov eax, [rbp+76]
    0042c58fadd eax, 1
    0042c592mov [rbp+76], eax
    0042c595sub esi, 1
    0042c598test esi, esi
    0042c59ajne 0x42c477
    0042c5a0
    0042c5a0loc_42c5a0:
    0042c5a0nop
    0042c5a1
    0042c5a1loc_42c5a1:
    0042c5a1mov eax, [rbp+72]
    0042c5a4mov ecx, [rbp+88]
    0042c5a7sub eax, ecx
    0042c5a9mov [rbp+108], eax
    0042c5acmov eax, [rbp+108]
    0042c5aftest eax, eax
    0042c5b1jle 0x42c5e9
    0042c5b3mov eax, [rbp+88]
    0042c5b6movsxd rax, eax
    0042c5b9lea rcx, [r13+2*rax]
    0042c5bemov eax, [rbp+92]
    0042c5c1movsxd rax, eax
    0042c5c4lea rdx, [rdi+2*rax]
    0042c5c8mov r8l, [rbp+108]
    0042c5ccadd r8l, r8l
    0042c5cfmovsxd r8, r8l
    0042c5d2call fn_405ac0
    0042c5d7jmp 0x42c5e9
    0042c5d9
    0042c5d9loc_42c5d9:
    0042c5d9mov rcx, [rbp+56]
    0042c5ddmov rdx, [rbp+232]
    0042c5e4call fn_40c360
    0042c5e9
    0042c5e9loc_42c5e9:
    0042c5e9nop
    0042c5ea
    0042c5ealoc_42c5ea:
    0042c5ealea rcx, [rbp+112]
    0042c5eemov edx, 3
    0042c5f3call fn_40bdd0
    0042c5f8lea rcx, [rbp+136]
    0042c5ffmov rdx, [rip-2350]
    0042c606call fn_410600
    0042c60blea rcx, [rbp+144]
    0042c612mov edx, 2
    0042c617call fn_40bdd0
    0042c61cmov rax, [rbp+56]
    0042c620lea rsp, [rbp+168]
    0042c627pop rbx
    0042c628pop rsi
    0042c629pop rdi
    0042c62apop r13
    0042c62cpop r14
    0042c62epop rbp
    0042c62fret
    0042bd20