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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x527ef0
sub esp, 0xf8
nop
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
jmp 0x527092
dec edx
test edx, edx
jle 0x52709e
mov ebx, dword [ecx + edx*4 - 4]
test ebx, ebx
je 0x527091
nop
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x118]
jmp 0x5270b0
dec ebp
test ebp, ebp
jle 0x5270c0
mov esi, dword [ebx + ebp*4 - 4]
test esi, esi
je 0x5270af
test edx, edx
jmp 0x5270c2
test edx, edx
je 0x5272b8
cmp ebp, 0x64
jl 0x527266
mov esi, edx
sub edx, ebp
test edx, edx
jl 0x52725f
mov dword [esp + 0xc8], esi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x90], edx
mov eax, ebp
shr ebp, 1
mov dword [esp + 0xa8], ebp
mov edi, ebx
mov ebx, dword [esp + 0x120]
mov esi, dword [esp + 0x128]
mov ecx, dword [esi + ebx*4]
lea edx, [esi + ebx*4]
test ecx, ecx
je 0x5271f7
mov edx, dword [ecx + 8]
mov ecx, dword [ecx]
inc ebp
cmp edx, ebp
jge 0x5271cd
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x52717e
lea eax, [0x63e860]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00447490
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x120]
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x114]
mov ebp, 1
mov edx, 1
jmp 0x5271cd
mov dword [esp + 0x8c], ebp
lea eax, [0x63e860]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea edx, [ecx + 5]
mov dword [esp + 0x48], edx
mov dword [esp + 8], edx
call fcn.00447490
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x120]
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x114]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esi + ebx*4]
mov dword [ebx + 4], ebp
mov dword [ebx + 8], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x5271e4
mov dword [ebx], ecx
jmp 0x527253
mov edx, edi
mov edi, ebx
mov ebp, eax
mov eax, ecx
call fcn.0045efc0
mov eax, ebp
mov edi, edx
jmp 0x527253
mov dword [esp + 0xf4], edx
mov dword [esp], eax
call fcn.00520f90
mov eax, dword [0xe996c0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x527227
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x128]
mov dword [edx + eax*4], ecx
jmp 0x527243
mov edi, dword [esp + 0xf4]
mov eax, ecx
call fcn.0045efc0
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x9c]
mov esi, edx
mov edi, dword [esp + 0x114]
mov ecx, dword [esp + 0x90]
jmp 0x52734e
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x110]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x20], eax
call fcn.00526ba0
add esp, 0xf8
ret
nop
mov eax, dword [esp + 0x100]
test eax, eax
je 0x5272da
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
shl eax, 2
mov dword [esp + 4], eax
call fcn.0045f5e0
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x18], ebx
call fcn.0051fab0
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x114]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xa8]
cmp ecx, edx
jle 0x5276f7
mov ebx, dword [esp + 0x120]
mov ebp, dword [esi + ebx*4]
sub ecx, edx
mov dword [esp + 0xc4], ecx
mov esi, dword [esp + 0x110]
sub esi, ecx
mov dword [esp + 0x58], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ecx, 2
sar esi, 0x1f
and ecx, esi
mov esi, dword [esp + 0x108]
add ecx, esi
mov dword [esp + 0xd8], ecx
mov esi, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc4]
sub esi, ebx
mov dword [esp + 0x54], esi
mov ebx, dword [ebp]
mov dword [esp + 0xe8], ebx
mov esi, dword [ebp + 4]
mov dword [esp + 0x78], esi
mov ebp, dword [ebp + 8]
mov dword [esp + 0x80], ebp
nop
test esi, esi
je 0x52740c
mov dword [esp], ebx
shl esi, 2
mov dword [esp + 4], esi
call fcn.0045f5e0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
lea ebp, [edx - 1]
mov dword [esp + 0x60], ebp
mov ebx, dword [esp + 0x58]
sub ebx, edx
inc ebx
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
shl ebp, 2
mov dword [esp + 0xbc], ebp
and ebx, ebp
add ebx, ecx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xc], ebx
lea ebx, [eax + 1]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x11c]
sub ebx, edx
inc ebx
mov dword [esp + 0xb8], ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, edi
mov dword [esp + 0xec], ebx
mov dword [esp + 0x18], ebx
sub eax, edx
inc eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0xb8]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x120]
inc ebp
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x124]
mov dword [esp + 0x28], ebp
mov eax, dword [esp + 0x128]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x34], eax
call fcn.00527060
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x78]
jmp 0x527cc9
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x124]
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
mov esi, dword [esp + 0x9c]
lea edi, [esi + esi*2]
cmp ebx, edi
jge 0x52757c
cmp edi, 1
jne 0x52752c
mov dword [esp + 0xb0], 0
mov edi, 1
lea ebp, [esp + 0xb0]
mov ebx, 1
jmp 0x52757c
mov dword [esp + 0x88], edi
lea eax, [0x63e860]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esi + esi*2 + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 8], ecx
call fcn.00447490
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x124]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x44]
nop
test edi, edi
je 0x5275bc
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0xd0], ebp
mov dword [esp], ebp
shl edi, 2
mov dword [esp + 4], edi
call fcn.0045f5e0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xd0]
mov edi, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x20], esi
call fcn.0051fb90
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x54]
xor esi, esi
jmp 0x527d62
mov esi, ebp
jmp 0x527e87
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x14], ebp
call fcn.0051ed40
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x527e9c
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
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 ebx, dword [esp + 0x70]
mov dword [esp + 0x20], ebx
call fcn.00528000
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x5272e1
mov ecx, dword [esp + 0x68]
mov edx, ecx
shl ecx, 2
mov ebx, dword [esp + 0x58]
sub ebx, edx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0xd8]
add ecx, ebx
mov dword [esp], ecx
mov ebx, dword [esp + 0x54]
sub ebx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call fcn.00528070
jmp 0x5272e1
mov ecx, dword [esp + 0x120]
mov ebx, dword [esi + ecx*4]
mov ebp, dword [ebx]
mov dword [esp + 0xe4], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x74], esi
mov ebx, dword [ebx + 8]
mov dword [esp + 0x7c], ebx
nop
test esi, esi
je 0x527757
mov dword [esp], ebp
shl esi, 2
mov dword [esp + 4], esi
call fcn.0045f5e0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x114]
lea ecx, [edx - 1]
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x110]
sub eax, edx
inc eax
mov dword [esp + 0x50], eax
shl ecx, 2
mov dword [esp + 0xc4], ecx
neg eax
sar eax, 0x1f
and eax, ecx
mov edi, dword [esp + 0xc8]
sub edi, edx
inc edi
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x108]
add eax, ecx
jmp 0x52779e
dec edi
mov ecx, dword [esp + 0x108]
test edi, edi
jle 0x5277aa
mov ecx, dword [eax + edi*4 - 4]
test ecx, ecx
je 0x527796
mov dword [esp + 0xd4], eax
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x11c]
sub edi, edx
inc edi
mov dword [esp + 0xc0], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
mov ecx, dword [esp + 0xc4]
and edi, ecx
mov ecx, dword [esp + 0x114]
add edi, ecx
mov dword [esp + 0xf0], edi
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x9c]
sub edi, edx
inc edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x120]
inc edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x128]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x12c]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x130]
mov dword [esp + 0x34], edi
call fcn.00527060
nop
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x74]
jmp 0x52786f
dec ecx
test ecx, ecx
jle 0x52787b
mov edx, dword [eax + ecx*4 - 4]
test edx, edx
je 0x52786e
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x124]
mov ebx, dword [edx + 8]
mov edx, dword [edx]
mov ebp, dword [esp + 0x9c]
lea esi, [ebp + ebp*2]
cmp ebx, esi
jge 0x527902
cmp esi, 1
jne 0x5278c0
mov dword [esp + 0xac], 0
mov esi, 1
lea edx, [esp + 0xac]
mov ebx, 1
jmp 0x527902
mov dword [esp + 0x84], esi
lea eax, [0x63e860]
mov dword [esp], eax
mov dword [esp + 4], esi
lea eax, [ebp + ebp*2 + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
call fcn.00447490
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x94]
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 0x40]
nop
test esi, esi
je 0x527942
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0xcc], edx
mov dword [esp], edx
shl esi, 2
mov dword [esp + 4], esi
call fcn.0045f5e0
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x20], esi
call fcn.0051fb90
mov eax, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x108]
mov ebp, dword [esp + 0xc8]
xor esi, esi
jmp 0x5279d4
mov edi, dword [esp + 0xa0]
lea esi, [edi + 1]
mov ebx, dword [esp + 0x108]
mov ebp, dword [esp + 0xc8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
cmp esi, 2
jge 0x527b38
mov dword [esp + 0xa0], esi
mov edi, ebp
jmp 0x527cb3
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x14], ebp
call fcn.0051ed40
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x5279ad
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
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.00528070
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x20], ebp
call fcn.00528000
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
cmp ecx, edx
jle 0x527aeb
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
sub edx, ebx
inc edx
mov esi, edx
neg edx
sar edx, 0x1f
mov edi, dword [esp + 0xc4]
and edx, edi
mov edi, dword [esp + 0xdc]
add edx, edi
mov dword [esp], edx
sub ecx, ebx
inc ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.00528070
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0
call fcn.0051fab0
jmp 0x5279ad
mov esi, ebp
jmp 0x527b3d
dec ebp
test ebp, ebp
jle 0x527b49
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x527b3c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x14], ebp
call fcn.0051ed40
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x527c93
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x110]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebx
call fcn.00528000
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x527c16
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x64]
sub ecx, edx
mov ebx, ecx
neg ecx
mov ebp, edx
shl edx, 2
sar ecx, 0x1f
and ecx, edx
mov edx, dword [esp + 0x108]
add ecx, edx
mov dword [esp], ecx
mov edx, dword [esp + 0xc8]
sub edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00528070
mov eax, dword [esp + 0x1c]
test eax, eax
ja 0x527c7b
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x94]
jmp 0x527c2b
dec ecx
test ecx, ecx
jle 0x527c37
mov edx, dword [eax + ecx*4 - 4]
test edx, edx
je 0x527c2a
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
call fcn.0051fab0
add esp, 0xf8
ret
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d29b0]
mov dword [esp + 4], eax
call fcn.00433470
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d29b0]
mov dword [esp + 4], eax
call fcn.00433470
dec ebp
mov edi, dword [esp + 0xc8]
test ebp, ebp
jle 0x5279eb
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x527cab
jmp 0x5279eb
dec ecx
test ecx, ecx
jle 0x5274e8
mov edx, dword [eax + ecx*4 - 4]
test edx, edx
je 0x527cc8
jmp 0x5274e8
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa8]
sub ecx, edx
inc ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0xec]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
call fcn.0051fab0
mov eax, dword [esp + 0xa4]
lea esi, [eax + 1]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x54]
cmp esi, 2
jge 0x52762a
mov dword [esp + 0xa4], esi
mov edi, ebp
jmp 0x527ebc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x14], ebp
call fcn.0051ed40
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x527ed1
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x80]
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.00528070
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x20], ebp
call fcn.00528000
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jle 0x527cde
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xa8]
sub edx, ebx
inc edx
mov esi, edx
neg edx
sar edx, 0x1f
mov edi, dword [esp + 0xbc]
and edx, edi
mov edi, dword [esp + 0xe0]
add edx, edi
mov dword [esp], edx
sub ecx, ebx
inc ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.00528070
jmp 0x527cde
dec ebp
test ebp, ebp
jle 0x527631
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x527e86
jmp 0x527631
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d29b0]
mov dword [esp + 4], eax
call fcn.00433470
dec ebp
mov esi, dword [esp + 0xa4]
test ebp, ebp
jle 0x527d79
mov esi, dword [ebx + ebp*4 - 4]
test esi, esi
je 0x527eb4
jmp 0x527d79
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x54]
jmp 0x52762a
call fcn.0045dbb0
jmp fcn.00527060