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

Disassembly:
sub esp, 0xe8
push ebx
push ebp
push esi
mov ebx, ecx
mov eax, dword [ebx + 0x30]
push edi
mov edi, dword [esp + 0xfc]
mov edx, dword [edi]
sub eax, edx
mov ecx, eax
sar ecx, 0x1f
mov esi, ecx
xor esi, eax
sub esi, ecx
cmp esi, 0x10
mov dword [esp + 0x14], ebx
jge 0x5fd559
mov eax, dword [ebx + 0x34]
sub eax, dword [edi + 4]
mov ecx, eax
sar ecx, 0x1f
mov esi, ecx
xor esi, eax
sub esi, ecx
cmp esi, 0x10
mov byte [esp + 0x13], 1
jl 0x5fd55e
mov byte [esp + 0x13], 0
mov esi, dword [esp + 0x100]
mov ebp, dword [esi]
sub edx, ebp
mov eax, edx
sar eax, 0x1f
mov ecx, eax
xor ecx, edx
sub ecx, eax
cmp ecx, 0x10
jge 0x5fd596
mov edx, dword [esi + 4]
mov eax, dword [edi + 4]
sub eax, edx
mov edx, eax
sar edx, 0x1f
mov ecx, edx
xor ecx, eax
sub ecx, edx
cmp ecx, 0x10
mov byte [esp + 0x12], 1
jl 0x5fd59b
mov byte [esp + 0x12], 0
mov ecx, dword [esp + 0x104]
sub ebp, dword [ecx]
mov eax, ebp
sar eax, 0x1f
mov edx, eax
xor edx, ebp
sub edx, eax
cmp edx, 0x10
jge 0x5fd5d0
mov edx, dword [ecx + 4]
mov eax, dword [esi + 4]
sub eax, edx
mov edx, eax
sar edx, 0x1f
mov ebp, edx
xor ebp, eax
sub ebp, edx
cmp ebp, 0x10
jge 0x5fd5d0
mov al, 1
jmp 0x5fd5d2
xor al, al
movzx edx, byte [esp + 0x12]
movzx eax, al
add eax, edx
mov dl, byte [esp + 0x13]
movzx ebp, dl
add eax, ebp
cmp eax, 2
jl 0x5fd5ff
push ecx
mov ecx, ebx
call fcn.005fcb40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 0xc
test dl, dl
mov eax, edi
je 0x5fd607
mov eax, esi
push 0
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x64]
push edx
push eax
mov ecx, ebx
call fcn.005fc7b0
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [edi]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi]
mov dword [esp + 0x6c], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 4]
lea eax, [esp + 0x84]
mov dword [esp + 0x7c], ecx
push eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x84], edx
push ecx
lea edx, [esp + 0x6c]
push edx
call fcn.005fa330
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
mov edi, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x64]
add esp, 0xc
xor esi, esi
test edi, edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jle 0x5fd6f3
lea ebp, [esp + 0x90]
push 4
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
push ebp
mov ecx, ebx
call fcn.005fcd50
lea eax, [edi - 1]
cmp esi, eax
je 0x5fd6f3
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x38]
inc esi
add ebp, 0x18
cmp esi, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
jl 0x5fd6a6
cmp edi, 1
jle 0x5fd7db
dec edi
lea ebp, [esp + 0x84]
mov dword [esp + 0x18], edi
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x54]
push edx
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.005f9c20
mov eax, dword [esp + 0x58]
cdq
mov edi, eax
mov eax, dword [esp + 0x5c]
add esp, 0x14
mov ebx, edx
cdq
push edx
push eax
push edx
push eax
call fcn.004898f0
mov ecx, 0x10
call fcn.00487dc0
push ebx
push edi
push ebx
push edi
mov esi, eax
call fcn.004898f0
mov ecx, 0x10
call fcn.00487dc0
add esi, eax
push 0x10
push esi
push 0x10000
call fcn.005fa850
add esp, 0xc
lea edx, [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.005faa70
mov ecx, dword [esp + 0x2c]
mov eax, ecx
sar eax, 0x1f
mov edx, eax
xor edx, ecx
sub edx, eax
cmp edx, 0x10
jge 0x5fd7c5
mov ecx, dword [esp + 0x30]
mov eax, ecx
sar eax, 0x1f
mov edx, eax
xor edx, ecx
sub edx, eax
cmp edx, 0x10
jge 0x5fd7c5
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [esp + 0x50]
push 0
push ecx
mov ecx, dword [esp + 0x54]
push edx
push ecx
lea ecx, [eax + 0x98]
call fcn.005f3620
mov eax, dword [esp + 0x18]
add ebp, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x5fd708
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x104]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x40]
push eax
push ecx
mov ecx, ebx
call fcn.005fc8c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 0xc