Function at 0x521170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x200]
cmp eax, dword [ecx + 8]
jbe 0x522e53
sub esp, 0x280
lea eax, [0x67e680]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x284]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522e35
mov dword [edi], ebx
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522e1c
mov dword [edi + 0xc], ebx
mov ecx, dword [eax + 0xc8]
mov edx, dword [eax + 0xc4]
mov ebx, dword [eax + 0xc0]
mov dword [edi + 0x1c], edx
mov dword [edi + 0x20], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522e03
mov dword [edi + 0x18], ebx
mov ecx, dword [eax + 0xbc]
mov edx, dword [eax + 0xb4]
mov ebx, dword [eax + 0xb8]
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522dea
mov dword [edi + 0x24], edx
mov dword [esp + 0x78], edi
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x68]
mov ebx, dword [eax + 0x6c]
mov dword [edi + 0x34], ebx
mov dword [edi + 0x38], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522dd5
mov dword [edi + 0x30], edx
mov ecx, dword [eax + 0x174]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x170]
mov ebp, dword [eax + 0x168]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004f52a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], eax
mov eax, dword [0x8a6100]
test eax, eax
jne 0x522dc6
mov dword [ebx + 0x3c], edx
mov eax, dword [esp + 0x284]
lea esi, [eax + 0x20]
lea edi, [esp + 0x1b8]
call fcn.0044d628
mov edi, esp
lea esi, [esp + 0x1b8]
call fcn.0044d628
call fcn.0051e5d0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x284]
mov edx, dword [eax + 0xd4]
mov ebx, dword [eax + 0xd0]
mov ebp, dword [eax + 0xcc]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0051eab0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x4c], eax
mov dword [esp], eax
mov eax, dword [esp + 0x284]
lea edx, [eax + 0xc0]
mov dword [esp + 4], edx
call fcn.0051fc10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x78]
mov dword [ebp + 0x50], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522db9
mov dword [ebp + 0x54], eax
test edx, edx
jne 0x522d99
mov ecx, dword [esp + 0x284]
mov edx, dword [ecx + 0x18]
inc edx
mov dword [ebp + 0x58], edx
mov edx, dword [0x8a6100]
mov eax, dword [ecx + 0x1c]
test edx, edx
jne 0x522d8c
mov dword [ebp + 0x5c], eax
lea eax, [0x648fc0]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0xd4], eax
lea ecx, [0x648fc0]
mov dword [esp], ecx
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0xd0], eax
nop
mov ecx, dword [esp + 0x284]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xb4]
mov ebp, dword [ecx + 0xbc]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
lea edx, [0x645ea0]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x522d6c
test edx, edx
je 0x521477
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x27
mov eax, dword [0x8a6100]
test eax, eax
jne 0x52146a
lea eax, [0x691302]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x691302]
call fcn.0044d090
jmp 0x521444
nop
mov eax, dword [esp + 0x284]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x6c]
mov ebx, dword [eax + 0x68]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x645ea0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x522d4c
test edx, edx
jne 0x522ced
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x60]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
call fcn.00511cc0
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0xdc]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
call fcn.00511cc0
mov eax, dword [esp + 0x284]
lea esi, [eax + 0x74]
mov ecx, dword [esp + 0x78]
lea edi, [ecx + 0x158]
mov edx, dword [0x8a6100]
lea ebx, [eax + 0x88]
lea ebp, [ecx + 0x16c]
test edx, edx
jne 0x522c99
call fcn.0044d66e
mov edi, ebp
mov esi, ebx
call fcn.0044d66e
mov ecx, dword [eax + 0x12c]
mov edx, dword [eax + 0x130]
test edx, edx
jle 0x521728
mov dword [esp + 0x70], edx
lea ebx, [esp + 4]
mov dword [esp + 0xcc], ebx
mov ebp, dword [esp + 0x78]
xor eax, eax
jmp 0x521595
mov eax, dword [esp + 0xc8]
add eax, 0x1c
mov edx, dword [esp + 0x78]
mov edx, edi
mov ebx, esi
mov ebp, dword [esp + 0x78]
mov ebx, ecx
mov ecx, eax
mov eax, ebx
mov ebx, esi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x6c], eax
lea edi, [esp + 0xf4]
mov esi, ecx
call fcn.0044d65a
lea edi, [esp + 0xd8]
lea esi, [esp + 0xf4]
call fcn.0044d65a
mov ecx, dword [ebp + 0x18c]
mov esi, ebx
mov ebx, dword [ebp + 0x184]
mov edi, edx
mov edx, dword [ebp + 0x188]
lea ebp, [edx + 1]
cmp ebp, ecx
ja 0x522c30
lea ecx, [edx + 1]
mov ebp, dword [esp + 0x78]
mov dword [ebp + 0x188], ecx
imul ecx, edx, 0x1c
add ecx, ebx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x522bfb
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0xd8]
call fcn.0044d65a
mov ecx, dword [esp + 0xd8]
mov esi, ebx
mov ebx, dword [esp + 0xdc]
mov edi, edx
mov edx, dword [esp + 0xe0]
cmp ebx, 4
jne 0x5227a6
cmp dword [ecx], 2
jne 0x5227a6
cmp dword [ecx + 4], 5
jne 0x5227a6
cmp dword [ecx + 8], 0x1d
jne 0x5227a6
mov ecx, dword [ecx + 0xc]
cmp ecx, 0x13
jg 0x521e0d
cmp ecx, 0xf
jg 0x521adc
cmp ecx, 0xe
je 0x521994
cmp ecx, 0xf
je 0x5217df
mov ecx, 1
movzx edx, byte [esp + 0xe4]
test dl, dl
je 0x52171d
test cl, cl
je 0x52171d
mov ecx, dword [ebp + 0x19c]
mov dword [esp + 0xc4], ecx
mov edx, dword [ebp + 0x1a0]
lea ebx, [edx + 1]
mov ebp, dword [ebp + 0x1a4]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xc0], ecx
cmp ebx, ebp
ja 0x521768
mov ebx, dword [esp + 0xc4]
lea ebp, [edx + 1]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x1a0], ebp
lea edx, [edx + edx*2]
mov ebp, dword [esp + 0x64]
mov dword [ebx + edx*4 + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [ebx + edx*4 + 8], ebp
mov ebp, dword [0x8a6100]
lea ecx, [ebx + edx*4]
test ebp, ebp
jne 0x521750
mov ecx, dword [esp + 0xc0]
mov dword [ebx + edx*4], ecx
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x521577
mov eax, dword [esp + 0x78]
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], 0
mov dword [esp + 0x290], 0
add esp, 0x280
ret
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0xc0]
call fcn.0044d090
mov eax, ebx
mov edi, edx
jmp 0x52171d
lea eax, [0x6512e0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x1a4], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x5217d2
mov dword [ebx + 0x19c], eax
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xc0]
jmp 0x5216e6
lea edi, [ebx + 0x19c]
call fcn.0044d090
jmp 0x5217b3
lea eax, [0x663820]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x64f5a0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x521974
test edx, edx
jne 0x521915
mov edx, dword [esp + 0xbc]
xor eax, eax
xor ecx, ecx
jmp 0x52186a
inc eax
mov edx, esi
mov ecx, ebx
cmp eax, 9
jge 0x5218f5
nop
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, edx
mov edx, dword [edx + 0xc]
test eax, eax
jge 0x5218a4
xor edx, edx
test edx, edx
je 0x52189e
cmp eax, 0x20
sbb edx, edx
mov ebx, ecx
mov ecx, eax
mov ebp, 1
shl ebp, cl
and ebp, edx
or ebx, ebp
jmp 0x521865
mov ebx, ecx
mov ecx, eax
jmp 0x521865
cmp eax, edx
jge 0x521882
mov dword [esp + 0x4c], eax
mov edx, eax
sar eax, 0x1f
shr eax, 0x1d
mov edi, ebp
lea ebp, [edx + eax]
sar ebp, 3
mov eax, ebp
shl ebp, 3
sub edx, ebp
cmp eax, ebx
jae 0x522e4c
lea ebx, [edx - 7]
neg ebx
cmp ebx, 8
sbb ebp, ebp
mov edx, ebp
movzx ebp, byte [edi + eax]
mov eax, ecx
mov ecx, ebx
xchg ebp, eax
shr al, cl
xchg ebp, eax
and ebp, edx
xchg ebp, eax
movzx edx, al
xchg ebp, eax
and edx, 1
mov ecx, eax
mov eax, dword [esp + 0x4c]
jmp 0x521884
mov ebp, dword [esp + 0x78]
mov dword [ebp + 0x180], ecx
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x28
mov eax, dword [0x8a6100]
test eax, eax
jne 0x521967
lea eax, [0x6918f1]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x6918f1]
call fcn.0044d090
jmp 0x521941
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
lea eax, [0x633980]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x6277c0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x521abc
test edx, edx
jne 0x521a5d
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x1d0], ebx
mov dword [ecx + 0x1d4], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x521a50
mov dword [ecx + 0x1cc], eax
mov eax, dword [esp + 0x6c]
mov ebp, ecx
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
lea edi, [ecx + 0x1cc]
call fcn.0044d090
jmp 0x521a38
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x26
mov eax, dword [0x8a6100]
test eax, eax
jne 0x521aaf
lea eax, [0x690e98]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x690e98]
call fcn.0044d090
jmp 0x521a89
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
cmp ecx, 0x11
je 0x521c27
cmp ecx, 0x13
jne 0x52167a
lea eax, [0x653000]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0xb4], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x6289c0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x521c07
test ecx, ecx
jne 0x521ba8
mov ebp, dword [esp + 0x78]
mov byte [ebp + 0x1c0], 1
mov edx, dword [esp + 0xb4]
movzx ebx, byte [edx]
mov byte [ebp + 0x1c1], bl
mov edx, dword [edx + 4]
mov dword [ebp + 0x1c4], edx
test edx, edx
sete dl
mov byte [ebp + 0x1c8], dl
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x30
mov eax, dword [0x8a6100]
test eax, eax
jne 0x521bfa
lea eax, [0x693c38]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x693c38]
call fcn.0044d090
jmp 0x521bd4
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00520950
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xb0], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x28]
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 0x24]
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x78]
mov dword [esi + 0x200], edi
mov dword [esi + 0x204], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x521df7
mov dword [esi + 0x1fc], ebp
mov dword [esi + 0x20c], ebx
mov dword [esi + 0x210], eax
mov edx, dword [0x8a6100]
test edx, edx
jne 0x521de5
mov dword [esi + 0x208], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x218], ecx
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x21c], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x521dce
mov ecx, dword [esp + 0xac]
mov dword [esi + 0x214], ecx
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x224], ecx
mov edx, dword [esp + 0x68]
mov dword [esi + 0x228], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x521db7
mov edx, dword [esp + 0xb0]
mov dword [esi + 0x220], edx
mov edx, dword [esp + 0x54]
test edx, edx
jne 0x521d93
mov edx, dword [esi + 0x200]
test edx, edx
jne 0x521d8f
mov edx, dword [esi + 0x20c]
test edx, edx
jne 0x521d8f
mov edx, dword [esi + 0x218]
test edx, edx
jne 0x521d8f
test ecx, ecx
jne 0x521d8f
mov eax, 1
mov ebp, esi
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x52167f
xor eax, eax
jmp 0x521d77
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], edx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x290], eax
add esp, 0x280
ret
lea edi, [esi + 0x220]
mov eax, dword [esp + 0xb0]
call fcn.0044d090
jmp 0x521d48
lea edi, [esi + 0x214]
mov eax, dword [esp + 0xac]
call fcn.0044d090
jmp 0x521d1d
lea edi, [esi + 0x208]
mov eax, ecx
call fcn.0044d090
jmp 0x521cee
lea edi, [esi + 0x1fc]
mov edx, eax
mov eax, ebp
call fcn.0044d090
mov eax, edx
jmp 0x521cce
cmp ecx, 0x1f
jg 0x522167
cmp ecx, 0x1e
je 0x522106
cmp ecx, 0x1f
jne 0x52167a
lea eax, [0x631a00]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x627480]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x5220e6
test edx, edx
jne 0x522087
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test edx, edx
jle 0x521f08
mov dword [esp + 0x68], edx
xor eax, eax
jmp 0x521ec7
mov ebx, dword [esp + 0xa4]
add ebx, 0x4c
mov eax, ecx
mov ecx, ebx
mov dword [esp + 0xa4], ecx
lea edi, [esp + 0x234]
mov esi, ecx
call fcn.0044d5e2
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x234]
call fcn.0044d5e2
mov ecx, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x1ec]
test ebx, ebx
jne 0x521f22
lea ecx, [eax + 1]
cmp ecx, edx
jl 0x521eb9
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
xor ebp, ebp
jmp 0x521f3e
mov ebp, dword [esp + 0xa0]
add ebp, 0x24
mov esi, ecx
mov ecx, ebp
mov ebp, esi
mov dword [esp + 0xa0], ecx
lea edi, [esp + 0x134]
mov esi, ecx
call fcn.0044d646
lea edi, [esp + 0x110]
lea esi, [esp + 0x134]
call fcn.0044d646
cmp dword [esp + 0x114], 6
je 0x521f79
lea ecx, [ebp + 1]
cmp ecx, ebx
jl 0x521f2e
jmp 0x521f01
mov dword [esp + 0x5c], ebp
mov dword [esp], 0
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x290]
mov edx, dword [eax + 0x298]
mov ebx, dword [eax + 0x294]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp ebp, edx
ja 0x522013
lea edx, [ebx + 1]
mov dword [eax + 0x294], edx
lea edx, [ecx + ebx*8 + 4]
mov dword [edx], esi
mov edx, dword [0x8a6100]
lea ecx, [ecx + ebx*8]
test edx, edx
jne 0x522002
mov dword [ecx], edi
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
jmp 0x521f70
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044d090
mov eax, ebx
jmp 0x521fed
mov dword [esp + 0x58], esi
mov dword [esp + 0x9c], edi
lea eax, [0x640d20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x298], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x52207a
mov dword [ebx + 0x290], eax
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x9c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x78]
jmp 0x521fcf
lea edi, [ebx + 0x290]
call fcn.0044d090
jmp 0x522062
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x36
mov eax, dword [0x8a6100]
test eax, eax
jne 0x5220d9
lea eax, [0x695312]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x695312]
call fcn.0044d090
jmp 0x5220b3
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
mov dword [esp], ebp
mov edi, esi
lea esi, [esp + 0xd8]
call fcn.0044d65a
call fcn.00520b00
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x522147
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x52167f
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], ecx
add esp, 0x280
ret
cmp ecx, 0x20
je 0x5225a9
cmp ecx, 0x23
je 0x522461
cmp ecx, 0x25
jne 0x52167a
lea eax, [0x631b00]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x627500]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x522441
test edx, edx
jne 0x5223e2
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test edx, edx
jg 0x522225
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
mov dword [esp + 0x68], edx
xor eax, eax
jmp 0x52223b
mov ebx, dword [esp + 0xc4]
add ebx, 0xc
mov eax, ecx
mov ecx, ebx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x64], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x48], edx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x44], ebx
mov ebp, dword [ecx]
mov dword [esp + 0x74], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0051ee00
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x52231d
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x1ac]
mov ebx, dword [ecx + 0x1a8]
mov ebp, dword [ecx + 0x1b0]
mov esi, ecx
lea ecx, [edx + 1]
cmp ecx, ebp
ja 0x5222bc
lea ecx, [edx + 1]
mov dword [esi + 0x1ac], ecx
mov dword [ebx + edx*4], eax
mov ecx, dword [esp + 0x64]
inc ecx
mov edx, dword [esp + 0x68]
cmp ecx, edx
jl 0x52222d
jmp 0x52220b
mov dword [esp + 0x50], eax
lea eax, [0x63f420]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x1b0], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x522310
mov dword [ebx + 0x1a8], eax
mov esi, ebx
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x50]
jmp 0x52229a
lea edi, [ebx + 0x1a8]
call fcn.0044d090
jmp 0x522304
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x1bc]
mov ebx, dword [ecx + 0x1b8]
mov ebp, dword [ecx + 0x1b4]
mov eax, ecx
lea ecx, [ebx + 1]
cmp ecx, edx
ja 0x522384
lea ecx, [ebx + 1]
mov dword [eax + 0x1b8], ecx
lea ecx, [ebx + ebx*2]
mov edx, dword [esp + 0x44]
mov dword [ebp + ecx*4 + 4], edx
mov edx, dword [esp + 0x48]
mov dword [ebp + ecx*4 + 8], edx
mov edx, dword [0x8a6100]
lea edi, [ebp + ecx*4]
test edx, edx
jne 0x522375
mov edx, dword [esp + 0x74]
mov dword [ebp + ecx*4], edx
mov esi, eax
jmp 0x5222a6
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.0044d090
mov eax, ecx
jmp 0x52236e
lea eax, [0x6512e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x1bc], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x5223d5
mov dword [ebx + 0x1b4], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x78]
jmp 0x52233c
lea edi, [ebx + 0x1b4]
call fcn.0044d090
jmp 0x5223c8
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x30
mov eax, dword [0x8a6100]
test eax, eax
jne 0x522434
lea eax, [0x693c68]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x693c68]
call fcn.0044d090
jmp 0x52240e
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
lea eax, [0x64cbe0]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x628940]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x522589
test ecx, ecx
jne 0x52252a
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x1dc], ebx
mov dword [ecx + 0x1e0], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x52251d
mov dword [ecx + 0x1d8], eax
mov eax, dword [esp + 0x6c]
mov ebp, ecx
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
lea edi, [ecx + 0x1d8]
call fcn.0044d090
jmp 0x522505
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x30
mov eax, dword [0x8a6100]
test eax, eax
jne 0x52257c
lea eax, [0x693c98]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x693c98]
call fcn.0044d090
jmp 0x522556
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
lea eax, [0x631a40]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x6274c0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x522786
test ecx, ecx
jne 0x522727
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], ecx
lea edx, [0x6512e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x2a0], ecx
mov dword [edx + 0x2a4], ecx
mov ecx, dword [0x8a6100]
test ecx, ecx
jne 0x522717
mov dword [edx + 0x29c], eax
mov ecx, dword [esp + 0x90]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
test ebx, ebx
jle 0x5226e5
xor eax, eax
jmp 0x522695
lea ebp, [edi + 0xc]
mov eax, dword [esp + 0x78]
mov edx, eax
mov ebx, esi
mov eax, ecx
mov ecx, ebp
mov ebp, dword [ecx]
mov dword [esp + 0xc0], ebp
mov esi, ebx
mov ebx, dword [ecx + 8]
mov edi, ecx
mov ecx, dword [ecx + 4]
mov ebp, dword [edx + 0x29c]
cmp dword [edx + 0x2a0], eax
jbe 0x522e45
lea edx, [eax + eax*2]
mov dword [ebp + edx*4 + 4], ecx
mov dword [ebp + edx*4 + 8], ebx
mov ecx, dword [0x8a6100]
lea ebx, [ebp + edx*4]
test ecx, ecx
jne 0x5226ff
mov ecx, dword [esp + 0xc0]
mov dword [ebp + edx*4], ecx
lea ecx, [eax + 1]
cmp ecx, esi
jl 0x522686
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
xor ecx, ecx
jmp 0x52167f
mov ecx, edi
mov edi, ebx
mov edx, eax
mov eax, dword [esp + 0xc0]
call fcn.0044d090
mov eax, edx
mov edi, ecx
jmp 0x5226de
lea edi, [edx + 0x29c]
call fcn.0044d090
jmp 0x522672
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x34
mov eax, dword [0x8a6100]
test eax, eax
jne 0x522779
lea eax, [0x694ae9]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x694ae9]
call fcn.0044d090
jmp 0x522753
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov eax, dword [0x88fb60]
mov ecx, dword [0x88fb64]
mov edx, dword [0x88fb68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004f53c0
movzx eax, byte [esp + 0x18]
test al, al
jne 0x5227fc
mov eax, 1
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x52167f
lea eax, [0x6319c0]
mov dword [esp], eax
call fcn.00409a20
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
nop
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x627440]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004fa000
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x522bdb
test edx, edx
jne 0x522b7c
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
test ecx, ecx
jle 0x5228ca
mov dword [esp + 0x68], ecx
xor eax, eax
jmp 0x522894
add edx, 0x30
mov eax, ecx
mov ecx, ebx
lea edi, [esp + 0x188]
mov esi, edx
call fcn.0044d628
lea edi, [esp + 0x158]
lea esi, [esp + 0x188]
call fcn.0044d628
cmp dword [esp + 0x168], 6
je 0x5228d1
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x68]
cmp ecx, ebx
jl 0x52288d
xor eax, eax
jmp 0x5227e2
mov dword [esp + 0x88], edx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [0x88fb54]
mov ecx, dword [0x88fb50]
mov edx, dword [0x88fb58]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004f53c0
movzx eax, byte [esp + 0x18]
test al, al
je 0x522a31
mov dword [esp], 0
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x1ec]
mov edx, dword [eax + 0x1e8]
mov ebx, dword [eax + 0x1e4]
lea ebp, [edx + 1]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp ebp, ecx
ja 0x5229bd
lea ecx, [edx + 1]
mov dword [eax + 0x1e8], ecx
lea ecx, [ebx + edx*8 + 4]
mov dword [ecx], esi
mov ecx, dword [0x8a6100]
lea edx, [ebx + edx*8]
test ecx, ecx
jne 0x5229ac
mov dword [edx], edi
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x88]
jmp 0x5228bf
mov ecx, edi
mov edi, edx
mov ebx, eax
mov eax, ecx
call fcn.0044d090
mov eax, ebx
jmp 0x52299c
mov dword [esp + 0x60], esi
mov dword [esp + 0x9c], edi
lea eax, [0x640d20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x1ec], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x522a24
mov dword [ebx + 0x1e4], eax
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x9c]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x78]
jmp 0x52297e
lea edi, [ebx + 0x1e4]
call fcn.0044d090
jmp 0x522a0c
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [0x88fb44]
mov ecx, dword [0x88fb48]
mov edx, dword [0x88fb40]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.004f53c0
movzx eax, byte [esp + 0x18]
test al, al
jne 0x522a86
mov eax, dword [esp + 0x78]
jmp 0x52299c
mov dword [esp], 0
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x1f4]
mov edx, dword [eax + 0x1f0]
mov ebx, dword [eax + 0x1f8]
lea ebp, [ecx + 1]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp ebp, ebx
ja 0x522b0c
lea ebx, [ecx + 1]
mov dword [eax + 0x1f4], ebx
lea ebx, [edx + ecx*8 + 4]
mov dword [ebx], esi
lea ecx, [edx + ecx*8]
mov edx, dword [0x8a6100]
test edx, edx
jne 0x522af8
mov dword [ecx], edi
jmp 0x522a7d
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044d090
mov eax, ebx
jmp 0x522a7d
mov dword [esp + 0x60], esi
mov dword [esp + 0x9c], edi
lea eax, [0x640d20]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x1f8], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x522b6f
mov dword [ebx + 0x1f0], eax
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x9c]
mov edx, eax
mov eax, ebx
jmp 0x522ad8
lea edi, [ebx + 0x1f0]
call fcn.0044d090
jmp 0x522b5b
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x35
mov eax, dword [0x8a6100]
test eax, eax
jne 0x522bce
lea eax, [0x694e03]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x694e03]
call fcn.0044d090
jmp 0x522ba8
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
lea eax, [0x65ba00]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
call fcn.0040f580
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x78]
jmp 0x521614
lea eax, [0x65ba00]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438ea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 0x18c], edx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x522c8c
mov dword [ebx + 0x184], eax
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x70]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x6c]
jmp 0x5215e2
lea edi, [ebx + 0x184]
call fcn.0044d090
jmp 0x522c74
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], ebp
lea eax, [0x6810e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0040f580
lea eax, [0x6810e0]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
call fcn.0040f580
mov eax, dword [esp + 0x284]
jmp 0x52154c
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x27
mov eax, dword [0x8a6100]
test eax, eax
jne 0x522d3f
lea eax, [0x691302]
mov dword [edi], eax
mov dword [esp + 0x288], 0
lea eax, [0x6e5880]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edi
add esp, 0x280
ret
lea eax, [0x691302]
call fcn.0044d090
jmp 0x522d19
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
add esp, 0x280
ret
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], ecx
add esp, 0x280
ret
lea edi, [ebp + 0x5c]
call fcn.0044d090
jmp 0x521386
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], ebx
add esp, 0x280
ret
lea edi, [ebp + 0x54]
call fcn.0044d090
jmp 0x52135c
lea edi, [ebx + 0x3c]
mov eax, edx
call fcn.0044d090
jmp 0x5212b3
lea ecx, [edi + 0x30]
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0044d090
mov eax, ebp
jmp 0x521260
lea ecx, [edi + 0x24]
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0044d090
mov eax, ebp
mov edi, ebx
jmp 0x52123c
lea ecx, [edi + 0x18]
mov edx, edi
mov edi, ecx
mov ebp, eax
mov eax, ebx
call fcn.0044d090
mov eax, ebp
mov edi, edx
jmp 0x521213
lea ecx, [edi + 0xc]
mov edx, edi
mov edi, ecx
mov ebp, eax
mov eax, ebx
call fcn.0044d090
mov eax, ebp
mov edi, edx
jmp 0x5211ea
mov ecx, eax
mov eax, ebx
call fcn.0044d090
mov eax, ecx
jmp 0x5211ca
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.0044b940
jmp fcn.00521170