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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x520726
sub esp, 0x80
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
cmp edx, 0
jne 0x520456
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
add esp, 0x80
ret
cmp edx, 1
jne 0x520481
cmp edx, 0
jbe 0x52047a
mov ebp, dword [edi]
mov dword [esp + 0x98], ebp
mov ebp, dword [edi + 4]
mov dword [esp + 0x9c], ebp
add esp, 0x80
ret
call fcn.00429b10
ud2
mov ecx, dword [esp + 0x94]
mov ebx, edx
dec ebx
imul ebx, ecx
mov ecx, ebx
xor eax, eax
cmp eax, edx
jge 0x5204b1
mov ebx, eax
cmp eax, edx
jae 0x52071f
mov ebp, edi
shl ebx, 3
add ebp, ebx
mov ebp, dword [ebp + 4]
add ecx, ebp
inc eax
cmp eax, edx
jl 0x520496
mov dword [esp], 0x5c5920
mov eax, ecx
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, ecx
cdq
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043d560
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x88], 0
jbe 0x520718
mov ebx, dword [esp + 0x84]
mov esi, dword [ebx]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ebp
cmp ebp, eax
jge 0x520517
mov eax, ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x5c], edi
mov dword [esp], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00454a30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
cmp ecx, 1
jb 0x520711
mov ebp, ecx
dec ebp
dec edx
mov ecx, dword [esp + 0x84]
cmp edx, 0
je 0x520561
add ecx, 8
mov esi, ebp
mov ebp, edx
mov dword [esp + 0x74], ecx
mov edx, ecx
mov dword [esp + 0x78], esi
mov ecx, esi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x70], ebp
xor esi, esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x68], edx
mov ecx, edx
mov ebp, dword [esp + 0x28]
cmp esi, ebp
jge 0x5206bb
mov dword [esp + 0x30], ecx
cmp ecx, 0
je 0x52070a
mov edx, dword [ecx]
mov ebp, dword [ecx + 4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
cmp eax, ecx
ja 0x520703
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x5205d8
add ecx, eax
mov eax, ebp
mov dword [esp + 0x5c], ecx
mov ebp, ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x58], edx
mov esi, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], edx
cmp edx, eax
jge 0x520608
mov eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], ebp
mov dword [esp], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00454a30
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
cmp eax, ecx
ja 0x5206fc
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x520653
add ecx, eax
mov dword [esp + 0x50], ecx
mov esi, ecx
mov dword [esp + 0x54], ebp
mov eax, ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x64], edx
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], edx
cmp edx, eax
jge 0x52067d
mov eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], esi
mov dword [esp], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00454a30
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x30]
add ecx, 8
mov esi, dword [esp + 0x2c]
inc esi
mov ebp, dword [esp + 0x28]
cmp esi, ebp
jl 0x520595
mov dword [esp], 0
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xc], ebx
call fcn.004413a0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x9c], ebx
add esp, 0x80
ret
call fcn.00429b80
ud2
call fcn.00429b80
ud2
mov dword [ecx], eax
jmp 0x5205a2
call fcn.00429b80
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00452240
jmp fcn.00520400