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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x507cb6
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 0x5079e6
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
add esp, 0x80
ret
cmp edx, 1
jne 0x507a11
cmp edx, 0
jbe 0x507a0a
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.00435970
ud2
mov ecx, dword [esp + 0x94]
mov ebx, edx
dec ebx
imul ebx, ecx
mov ecx, ebx
xor eax, eax
cmp eax, edx
jge 0x507a41
mov ebx, eax
cmp eax, edx
jae 0x507caf
mov ebp, edi
shl ebx, 3
add ebp, ebx
mov ebp, dword [ebp + 4]
add ecx, ebp
inc eax
cmp eax, edx
jl 0x507a26
mov dword [esp], 0x70b300
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.00449940
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 0x507ca8
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 0x507aa7
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.00463ec0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
cmp ecx, 1
jb 0x507ca1
mov ebp, ecx
dec ebp
dec edx
mov ecx, dword [esp + 0x84]
cmp edx, 0
je 0x507af1
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 0x507c4b
mov dword [esp + 0x30], ecx
cmp ecx, 0
je 0x507c9a
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 0x507c93
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x507b68
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 0x507b98
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.00463ec0
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 0x507c8c
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x44]
cmp edx, 0
je 0x507be3
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 0x507c0d
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.00463ec0
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 0x507b25
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.0044d780
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.004359e0
ud2
call fcn.004359e0
ud2
mov dword [ecx], eax
jmp 0x507b32
call fcn.004359e0
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.004616d0
jmp fcn.00507990