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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x51fe26
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 0x51fb56
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
add esp, 0x80
ret
cmp edx, 1
jne 0x51fb81
cmp edx, 0
jbe 0x51fb7a
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.004291a0
ud2
mov ecx, dword [esp + 0x94]
mov ebx, edx
dec ebx
imul ebx, ecx
mov ecx, ebx
xor eax, eax
cmp eax, edx
jge 0x51fbb1
mov ebx, eax
cmp eax, edx
jae 0x51fe1f
mov ebp, edi
shl ebx, 3
add ebp, ebx
mov ebp, dword [ebp + 4]
add ecx, ebp
inc eax
cmp eax, edx
jl 0x51fb96
mov dword [esp], 0x5c5000
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.0043cbf0
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 0x51fe18
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 0x51fc17
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.004540c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
cmp ecx, 1
jb 0x51fe11
mov ebp, ecx
dec ebp
dec edx
mov ecx, dword [esp + 0x84]
cmp edx, 0
je 0x51fc61
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 0x51fdbb
mov dword [esp + 0x30], ecx
cmp ecx, 0
je 0x51fe0a
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 0x51fe03
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x51fcd8
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 0x51fd08
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.004540c0
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 0x51fdfc
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x51fd53
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 0x51fd7d
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.004540c0
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 0x51fc95
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.00440a30
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.00429210
ud2
call fcn.00429210
ud2
mov dword [ecx], eax
jmp 0x51fca2
call fcn.00429210
ud2
call fcn.004291a0
ud2
call fcn.004291a0
ud2
call fcn.004518d0
jmp fcn.0051fb00