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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x513f65
sub esp, 0xc4
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 8], eax
call fcn.0050ed70
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xd4], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
call fcn.0050ed70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xd8]
test ebx, ebx
je 0x513e73
cmp eax, 0x64
jl 0x513e21
mov ebp, ebx
sub ebx, eax
test ebx, ebx
jl 0x513e1a
mov esi, dword [esp + 0xec]
mov edi, ebp
mov ebp, dword [esp + 0xf8]
cmp esi, ebp
jae 0x513f5b
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe8], edx
shr eax, 1
mov dword [esp + 0x58], eax
mov ebp, dword [esp + 0xf4]
mov ebx, dword [ebp + esi*4]
lea ebp, [ebp + esi*4]
test ebx, ebx
je 0x513db0
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx]
lea esi, [eax + 1]
cmp esi, ebp
jg 0x513d17
ja 0x513f52
mov dword [esp + 0xc0], ebx
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf4]
mov edx, dword [ebx + edx*4]
mov dword [edx + 4], esi
mov dword [edx + 8], ebp
mov ebp, dword [0x8326a0]
test ebp, ebp
jne 0x513cfc
mov ebp, dword [esp + 0xc0]
mov dword [edx], ebp
mov edx, dword [esp + 0xec]
mov ebp, dword [esp + 0x7c]
jmp 0x513477
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
sub ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xb8]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x88]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
call fcn.005104c0
mov eax, dword [esp + 0x84]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xa4]
cmp ebx, 2
jge 0x5132ff
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 8], edx
call fcn.0050ed70
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
call fcn.0050f4e0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x5132ff
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.00518b00
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
jb 0x513f20
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0xe8]
mov dword [esp + 0x20], ebp
call fcn.00518a90
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
cmp ecx, edx
jl 0x5132b4
mov ebx, dword [esp + 0x50]
cmp ecx, ebx
jbe 0x513154
jmp 0x513f17
mov ebx, dword [esp + 0x68]
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
mov edi, dword [esp + 0x90]
and ebx, edi
mov edi, dword [esp + 0xa4]
add ebx, edi
mov dword [esp], ebx
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.00518b00
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
jmp 0x5132a3
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 8], edx
call fcn.0050ed70
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
call fcn.0050f4e0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x513eff
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x5c]
cmp edx, ecx
jb 0x513efa
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x20], ebx
call fcn.00518a90
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x5133f3
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
cmp ecx, edx
jb 0x513ef3
mov ebx, dword [esp + 0x98]
sub ebx, edx
mov ebp, ebx
neg ebx
mov esi, edx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0xa0]
add edx, ebx
mov dword [esp], edx
sub ecx, esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call fcn.00518b00
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x18], ebx
call fcn.005104c0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x9c]
mov eax, edx
mov ecx, dword [esp + 0xe0]
mov edx, ebx
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xd8]
cmp eax, ebp
jge 0x513765
sub ebp, eax
cmp ebp, edi
ja 0x513f49
mov dword [esp + 0x9c], ebp
mov eax, dword [ebx + edx*4]
mov ecx, dword [eax]
mov dword [esp + 0xac], ecx
mov ebp, dword [eax + 4]
mov dword [esp + 0x70], ebp
mov eax, dword [eax + 8]
mov dword [esp + 0x74], eax
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0050ed30
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0x9c]
sub edx, eax
mov ebx, dword [esp + 0xd8]
sub ebx, eax
mov esi, edx
neg edx
shl eax, 2
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0xd4]
add eax, edx
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0x58]
lea ebp, [ecx + edx]
cmp esi, ebp
jb 0x513f40
lea edi, [ecx - 1]
cmp edi, ebp
ja 0x513f37
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x98], esi
sub esi, edi
mov dword [esp + 0x94], esi
shl edi, 2
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
add esi, eax
mov ebx, dword [esp + 0x54]
sub ebp, ebx
cmp ebx, edx
ja 0x513f2e
mov dword [esp + 0xa0], eax
mov dword [esp + 0x90], edi
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xe8]
sub ebp, ebx
mov dword [esp + 0x8c], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov edi, dword [esp + 0xe0]
add ebp, edi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x18], ebp
sub edx, ebx
mov dword [esp + 0x88], edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xec]
inc edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x28], edx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x34], ebp
call fcn.00512ff0
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.0050ed70
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0xf0]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx]
mov edi, dword [esp + 0xe4]
lea ebx, [edi + edi*2]
cmp ebx, ebp
jg 0x5136fc
ja 0x513f25
mov dword [esp + 0x68], ebp
mov dword [esp + 0x5c], ebx
mov dword [esp + 0xc0], esi
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0050ed30
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x20], esi
call fcn.00510610
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa4], edx
xor ebx, ebx
jmp 0x5131b6
cmp ebx, 1
jne 0x513732
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00442930
mov esi, dword [esp + 0xc]
mov ebp, 1
mov ebx, 1
jmp 0x513663
mov dword [esp + 0x3c], ebx
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [edi + edi*2 + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 8], ecx
call fcn.00442930
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
jmp 0x513663
mov eax, dword [ebx + edx*4]
mov ecx, dword [eax]
mov dword [esp + 0xb0], ecx
mov ebp, dword [eax + 4]
mov dword [esp + 0x6c], ebp
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0050ed30
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xd8]
cmp eax, ecx
ja 0x513eee
mov edx, dword [esp + 0xdc]
sub edx, eax
mov dword [esp + 0x9c], edx
mov ebp, eax
shl eax, 2
mov dword [esp + 0x98], eax
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
mov edi, dword [esp + 0xd4]
add edx, edi
mov dword [esp + 0xbc], edx
mov dword [esp], edx
sub ecx, ebp
mov dword [esp + 0x94], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0050ed70
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xe4]
cmp eax, ecx
ja 0x513ee9
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xe8]
sub esi, eax
mov dword [esp + 0x90], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
mov edi, dword [esp + 0x98]
and esi, edi
mov edi, dword [esp + 0xe0]
add esi, edi
mov dword [esp + 0xb8], esi
mov dword [esp + 0x18], esi
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xec]
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x34], esi
call fcn.00512ff0
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.0050ed70
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0xf0]
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xe4]
lea edi, [esi + esi*2]
cmp edi, ebp
jg 0x513c93
ja 0x513ee0
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0xc0], ebx
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.0050ed30
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x20], esi
call fcn.00510610
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa8], edx
xor ebx, ebx
jmp 0x5139b5
mov ebp, dword [esp + 0x80]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa8]
cmp ebx, 2
jge 0x513b3a
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 8], edx
call fcn.0050ed70
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.0050f4e0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x51399c
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.00518b00
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
cmp ecx, edx
ja 0x513edb
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0xe8]
mov dword [esp + 0x20], ebp
call fcn.00518a90
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jl 0x513af4
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x90]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0
call fcn.005104c0
jmp 0x51399c
mov ebx, dword [esp + 0x64]
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
mov edi, dword [esp + 0x98]
and ebx, edi
mov edi, dword [esp + 0xa8]
add ebx, edi
mov dword [esp], ebx
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.00518b00
jmp 0x513aa1
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 8], edx
call fcn.0050ed70
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.0050f4e0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x513ec3
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x60]
cmp edx, ecx
jb 0x513ebe
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x20], ebx
call fcn.00518a90
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x513c38
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jb 0x513eb7
mov ebx, dword [esp + 0xdc]
sub ebx, edx
mov ebp, ebx
neg ebx
mov esi, edx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0xd4]
add edx, ebx
mov dword [esp], edx
sub ecx, esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call fcn.00518b00
mov eax, dword [esp + 0x1c]
test eax, eax
ja 0x513e9f
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.0050ed70
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0
call fcn.005104c0
add esp, 0xc4
ret
cmp edi, 1
jne 0x513cc9
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00442930
mov ebx, dword [esp + 0xc]
mov ebp, 1
mov edi, 1
jmp 0x513906
mov dword [esp + 0x40], edi
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + esi*2 + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 8], eax
call fcn.00442930
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
jmp 0x513906
mov ebp, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xc0]
call fcn.0045ace0
mov eax, esi
mov edi, ebp
jmp 0x513144
test eax, eax
jne 0x513d65
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00442930
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0xd8]
mov ebp, 1
mov esi, 1
jmp 0x51310f
mov dword [esp + 0x38], esi
lea ecx, [0x633500]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea edx, [eax + 5]
mov dword [esp + 0x4c], edx
mov dword [esp + 8], edx
call fcn.00442930
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0xd8]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
jmp 0x51310f
mov dword [esp + 0xb4], ebp
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.00512340
mov eax, dword [0x8326a0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x513dfc
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf4]
mov dword [ebx + edx*4], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xe0]
mov edi, dword [esp + 0xd8]
jmp 0x513144
mov edi, dword [esp + 0xb4]
mov eax, ecx
call fcn.0045ace0
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf4]
jmp 0x513de5
add esp, 0xc4
ret
mov ebp, dword [esp + 0xc8]
mov dword [esp], ebp
mov ebp, dword [esp + 0xcc]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xd0]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.00512900
add esp, 0xc4
ret
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
call fcn.0050ed30
add esp, 0xc4
ret
lea eax, [0x633ac0]
mov dword [esp], eax
lea eax, [0x6c4fd0]
mov dword [esp + 4], eax
call fcn.00430630
mov eax, edx
call fcn.0045adc0
call fcn.0045ada0
lea eax, [0x633ac0]
mov dword [esp], eax
lea eax, [0x6c4fc8]
mov dword [esp + 4], eax
call fcn.00430630
call fcn.0045ada0
mov ecx, edi
mov edx, ebp
call fcn.0045ada0
call fcn.0045adc0
call fcn.0045adc0
mov eax, edx
call fcn.0045adc0
call fcn.0045ada0
lea eax, [0x633ac0]
mov dword [esp], eax
lea eax, [0x6c4fc0]
mov dword [esp + 4], eax
call fcn.00430630
mov eax, ecx
mov ecx, ebx
call fcn.0045adc0
call fcn.0045ada0
mov ecx, ebx
mov edx, ebp
call fcn.0045ada0
mov eax, ebx
mov ecx, edx
call fcn.0045adc0
mov eax, edi
mov ecx, ebp
call fcn.0045adc0
mov ecx, ebp
mov edx, esi
call fcn.0045ada0
mov eax, ebp
mov ecx, edi
call fcn.0045adc0
mov ecx, esi
mov edx, ebp
call fcn.0045ada0
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
nop
call fcn.00459790
jmp fcn.00512ff0