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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x52467f
sub esp, 0xc8
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
call fcn.0051f140
mov eax, dword [esp + 0x10]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xd8], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
call fcn.0051f140
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xdc]
test ebx, ebx
je 0x52458d
cmp eax, 0x64
jl 0x52453b
mov ebp, ebx
sub ebx, eax
test ebx, ebx
jl 0x524534
mov esi, dword [esp + 0xf0]
mov edi, ebp
mov ebp, dword [esp + 0xfc]
cmp esi, ebp
jae 0x524675
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], ecx
shr eax, 1
mov dword [esp + 0x88], eax
mov ebp, dword [esp + 0xf8]
mov ebx, dword [ebp + esi*4]
lea ebp, [ebp + esi*4]
test ebx, ebx
je 0x5244c7
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx]
lea esi, [eax + 1]
cmp esi, ebp
jg 0x524428
ja 0x52466c
mov dword [esp + 0xa4], ebx
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf8]
mov edx, dword [ebx + edx*4]
mov dword [edx + 4], esi
mov dword [edx + 8], ebp
mov ebp, dword [0x10fd360]
test ebp, ebp
jne 0x52440d
mov ebp, dword [esp + 0xa4]
mov dword [edx], ebp
mov edx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x7c]
jmp 0x523b7d
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
sub ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
call fcn.00520890
mov eax, dword [esp + 0x84]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xb0]
cmp ebx, 2
jge 0x523a02
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.0051f140
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
call fcn.0051f8b0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x523a02
mov eax, dword [esp + 0xb8]
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.0052c450
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x68]
cmp ecx, edx
ja 0x52463a
mov eax, dword [esp + 0xb0]
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 + 0xe4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x20], ebp
call fcn.0052c3e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jl 0x5239b7
mov ebx, dword [esp + 0x50]
cmp ecx, ebx
jbe 0x523857
jmp 0x524631
mov ebx, dword [esp + 0x68]
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
mov edi, dword [esp + 0x94]
and ebx, edi
mov edi, dword [esp + 0xb0]
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.0052c450
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
jmp 0x5239a6
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.0051f140
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
call fcn.0051f8b0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x524619
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x60]
cmp edx, ecx
jb 0x524614
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 + 0xb0]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x20], ebx
call fcn.0052c3e0
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x523af6
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jb 0x52460d
mov ebx, dword [esp + 0x9c]
sub ebx, edx
mov ebp, ebx
neg ebx
mov esi, edx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0xa8]
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.0052c450
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xb8]
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 + 0xa0]
mov dword [esp + 0x18], ebx
call fcn.00520890
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xa0]
mov eax, edx
mov ecx, dword [esp + 0xe4]
mov edx, ebx
mov ebx, dword [esp + 0xf8]
mov edi, dword [esp + 0xdc]
cmp eax, ebp
jge 0x523e6e
sub ebp, eax
cmp ebp, edi
ja 0x524663
mov dword [esp + 0xa0], ebp
mov eax, dword [ebx + edx*4]
mov ecx, dword [eax]
mov dword [esp + 0xb8], 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.0051f100
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa0]
sub edx, eax
mov ebx, dword [esp + 0xdc]
sub ebx, eax
mov esi, edx
neg edx
shl eax, 2
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0xd8]
add eax, edx
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x88]
lea ebp, [ecx + edx]
cmp esi, ebp
jb 0x52465a
lea edi, [ecx - 1]
cmp edi, ebp
ja 0x524651
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x9c], esi
sub esi, edi
mov dword [esp + 0x98], 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 0x524648
mov dword [esp + 0xa8], eax
mov dword [esp + 0x94], edi
mov dword [esp + 0xc4], esi
mov eax, dword [esp + 0xb8]
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 + 0x98]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xec]
sub ebp, ebx
mov dword [esp + 0x90], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov edi, dword [esp + 0xe4]
add ebp, edi
mov dword [esp + 0xc0], ebp
mov dword [esp + 0x18], ebp
sub edx, ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xf0]
inc edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x28], edx
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x100]
mov dword [esp + 0x34], ebp
call fcn.005236f0
mov eax, dword [esp + 0xb8]
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.0051f140
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], 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 + 0xf4]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx]
mov edi, dword [esp + 0xe8]
lea ebx, [edi + edi*2]
cmp ebp, ebx
jl 0x523e05
jb 0x52463f
mov dword [esp + 0x68], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0xb0], esi
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0051f100
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
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 + 0xe4]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0xec]
mov dword [esp + 0x20], esi
call fcn.005209e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb0], edx
xor ebx, ebx
jmp 0x5238b9
cmp ebx, 1
jne 0x523e3b
lea eax, [0xaa8ee0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00446f30
mov esi, dword [esp + 0xc]
mov ebp, 1
mov ebx, 1
jmp 0x523d6c
mov dword [esp + 0x40], ebx
lea eax, [0xaa8ee0]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [edi + edi*2 + 4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 8], ecx
call fcn.00446f30
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
jmp 0x523d6c
mov eax, dword [ebx + edx*4]
mov ecx, dword [eax]
mov dword [esp + 0xb4], 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.0051f100
mov eax, dword [esp + 0x88]
dec eax
mov ecx, dword [esp + 0xdc]
cmp ecx, eax
jb 0x524608
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0xe0]
sub edx, eax
mov dword [esp + 0xa0], edx
mov ebp, eax
shl eax, 2
mov dword [esp + 0x9c], eax
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
mov edi, dword [esp + 0xd8]
add edx, edi
mov dword [esp + 0xc4], edx
mov dword [esp], edx
sub ecx, ebp
mov dword [esp + 0x98], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0051f140
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x58]
cmp ecx, eax
jb 0x524603
mov edx, dword [esp + 0xb4]
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 + 0xec]
sub esi, eax
mov dword [esp + 0x94], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
mov edi, dword [esp + 0x9c]
and esi, edi
mov edi, dword [esp + 0xe4]
add esi, edi
mov dword [esp + 0xc0], esi
mov dword [esp + 0x18], esi
sub ecx, eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xf0]
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x100]
mov dword [esp + 0x34], esi
call fcn.005236f0
mov eax, dword [esp + 0xb4]
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.0051f140
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], 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 + 0xf4]
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xe8]
lea edi, [esi + esi*2]
cmp ebp, edi
jl 0x5243a4
jb 0x5245fa
mov dword [esp + 0x64], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0xac], ebx
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.0051f100
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
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 + 0xe4]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0xec]
mov dword [esp + 0x20], esi
call fcn.005209e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xac], edx
xor ebx, ebx
jmp 0x5240c6
mov ebp, dword [esp + 0x80]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xac]
cmp ebx, 2
jge 0x52424b
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 8], edx
call fcn.0051f140
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.0051f8b0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x5240ad
mov eax, dword [esp + 0xb4]
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.0052c450
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
cmp edx, ecx
jb 0x5245f5
mov eax, dword [esp + 0xac]
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 + 0xe4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x20], ebp
call fcn.0052c3e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp ecx, edx
jg 0x524205
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x94]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0
call fcn.00520890
jmp 0x5240ad
mov ebx, dword [esp + 0x64]
sub ebx, edx
mov esi, ebx
neg ebx
sar ebx, 0x1f
mov edi, dword [esp + 0x9c]
and ebx, edi
mov edi, dword [esp + 0xac]
add ebx, edi
mov dword [esp], ebx
sub ecx, edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.0052c450
jmp 0x5241b2
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 8], edx
call fcn.0051f140
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.0051f8b0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x5245dd
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xe0]
cmp ecx, edx
ja 0x5245d8
mov eax, dword [esp + 0xd8]
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 + 0xac]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x20], ebx
call fcn.0052c3e0
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x524349
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xdc]
cmp edx, ecx
ja 0x5245d1
mov ebx, dword [esp + 0xe0]
sub ebx, edx
mov ebp, ebx
neg ebx
mov esi, edx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0xd8]
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.0052c450
mov eax, dword [esp + 0x1c]
test eax, eax
ja 0x5245b9
mov eax, dword [esp + 0xb4]
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.0051f140
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0
call fcn.00520890
add esp, 0xc8
ret
cmp edi, 1
jne 0x5243da
lea eax, [0xaa8ee0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00446f30
mov ebx, dword [esp + 0xc]
mov ebp, 1
mov edi, 1
jmp 0x524017
mov dword [esp + 0x3c], edi
lea eax, [0xaa8ee0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + esi*2 + 4]
mov dword [esp + 0x44], eax
mov dword [esp + 8], eax
call fcn.00446f30
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
jmp 0x524017
mov ebp, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xa4]
call fcn.00460b40
mov eax, esi
mov edi, ebp
jmp 0x523847
test eax, eax
jne 0x524479
lea eax, [0xaa8ee0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00446f30
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xec]
mov edi, dword [esp + 0xdc]
mov ebp, 1
mov esi, 1
jmp 0x523812
mov dword [esp + 0x38], esi
lea ecx, [0xaa8ee0]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea edx, [eax + 5]
mov dword [esp + 0x48], edx
mov dword [esp + 8], edx
call fcn.00446f30
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xec]
mov edi, dword [esp + 0xdc]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x38]
jmp 0x523812
mov dword [esp + 0xbc], ebp
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call fcn.00522a40
mov eax, dword [0x10fd360]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x524516
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf8]
mov dword [ebx + edx*4], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xe4]
mov edi, dword [esp + 0xdc]
jmp 0x523847
mov edi, dword [esp + 0xbc]
mov eax, ecx
call fcn.00460b40
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf8]
jmp 0x5244fc
add esp, 0xc8
ret
mov ebp, dword [esp + 0xcc]
mov dword [esp], ebp
mov ebp, dword [esp + 0xd0]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xd4]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0xd8]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.00523000
add esp, 0xc8
ret
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 8], eax
call fcn.0051f100
add esp, 0xc8
ret
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc75400]
mov dword [esp + 4], eax
call fcn.00433120
mov eax, edx
call fcn.00460c20
call fcn.00460c00
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc753f8]
mov dword [esp + 4], eax
call fcn.00433120
call fcn.00460c00
mov ecx, edi
mov edx, ebp
call fcn.00460c00
call fcn.00460c20
call fcn.00460c20
mov eax, edx
call fcn.00460c20
call fcn.00460c00
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc753f0]
mov dword [esp + 4], eax
call fcn.00433120
mov eax, ecx
mov ecx, ebx
call fcn.00460c20
call fcn.00460c00
mov ecx, ebx
mov edx, ebp
call fcn.00460c00
mov eax, ebx
mov ecx, edx
call fcn.00460c20
mov eax, edi
mov ecx, ebp
call fcn.00460c20
mov ecx, ebp
mov edx, esi
call fcn.00460c00
mov eax, ebp
mov ecx, edi
call fcn.00460c20
mov ecx, esi
mov edx, ebp
call fcn.00460c00
mov eax, esi
mov ecx, ebp
call fcn.00460bc0
nop
call fcn.0045f5f0
jmp fcn.005236f0