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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x51f3b6
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 0x51f0e6
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
add esp, 0x80
ret
cmp edx, 1
jne 0x51f111
cmp edx, 0
jbe 0x51f10a
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.004287a0
ud2
mov ecx, dword [esp + 0x94]
mov ebx, edx
dec ebx
imul ebx, ecx
mov ecx, ebx
xor eax, eax
cmp eax, edx
jge 0x51f141
mov ebx, eax
cmp eax, edx
jae 0x51f3af
mov ebp, edi
shl ebx, 3
add ebp, ebx
mov ebp, dword [ebp + 4]
add ecx, ebp
inc eax
cmp eax, edx
jl 0x51f126
mov dword [esp], 0x5c41e0
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.0043c1f0
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 0x51f3a8
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 0x51f1a7
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.004536c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
cmp ecx, 1
jb 0x51f3a1
mov ebp, ecx
dec ebp
dec edx
mov ecx, dword [esp + 0x84]
cmp edx, 0
je 0x51f1f1
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 0x51f34b
mov dword [esp + 0x30], ecx
cmp ecx, 0
je 0x51f39a
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 0x51f393
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x51f268
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 0x51f298
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.004536c0
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 0x51f38c
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x51f2e3
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 0x51f30d
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.004536c0
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 0x51f225
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.00440030
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.00428810
ud2
call fcn.00428810
ud2
mov dword [ecx], eax
jmp 0x51f232
call fcn.00428810
ud2
call fcn.004287a0
ud2
call fcn.004287a0
ud2
call fcn.00450ed0
jmp fcn.0051f090