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

Disassembly:
sub esp, 0xcc
push ebx
mov ebx, ecx
mov dword [esp + 0x40], ebx
cmp dword [ebx + 0x10c], 6
je 0x5d8a0b
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0xd4]
xor eax, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
cmp eax, ecx
mov dword [esp + 0x34], eax
je 0x5d8a0b
push ebp
push esi
push edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [eax + 0xc]
push edi
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, eax
mov eax, dword [ebx + 0x10c]
push eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x60]
test al, al
je 0x5d89eb
mov ecx, dword [esp + 0x40]
push edi
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x68], edx
call fcn.00405880
mov ecx, dword [ebx + 0x24]
mov ebp, eax
lea edx, [esp + 0x90]
push edi
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebx + 0x24]
mov edx, dword [eax]
lea eax, [esp + 0x8c]
push edx
push eax
call fcn.00405bf0
mov ecx, dword [eax]
mov edx, dword [ebx + 0x4c]
mov eax, dword [eax + 4]
sub ecx, edx
mov edx, dword [ebx + 0x50]
mov dword [esp + 0x44], ecx
sub eax, edx
mov ecx, esi
mov dword [esp + 0x48], eax
sub eax, ebp
mov dword [esp + 0x48], eax
mov edx, dword [esi]
mov dword [esp + 0x60], edi
call dword [edx + 0xc]
test al, al
je 0x5d8794
mov edi, dword [ebx + 0x3c]
lea eax, [esp + 0x60]
push eax
lea ecx, [ebx + 0x34]
call fcn.0061e660
cmp eax, edi
je 0x5d8794
mov ebx, dword [ebx + 0x30]
jmp 0x5d8796
xor ebx, ebx
mov edx, dword [esi]
lea eax, [esp + 0x9c]
push ebx
push eax
mov ecx, esi
call dword [edx + 0x38]
mov ecx, dword [eax]
mov edi, dword [eax + 8]
mov ebp, dword [esp + 0x44]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
add ecx, ebp
add edi, ebp
mov ebp, dword [esp + 0x48]
add eax, ebp
add edx, ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov edx, dword [esi]
lea eax, [esp + 0xbc]
push ebx
push eax
mov ecx, esi
call dword [edx + 0x40]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x44]
mov dword [esp + 0x58], ecx
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x60], edx
call fcn.00406fe0
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp ebx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
jge 0x5d88bd
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
cmp ecx, ebp
mov ecx, dword [esp + 0x1c]
jge 0x5d88c7
cmp dword [esp + 0x24], ecx
jge 0x5d88c7
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
cmp ebp, eax
jge 0x5d88c3
cmp eax, ecx
mov esi, eax
jl 0x5d8864
mov esi, ecx
mov eax, dword [esp + 0x28]
cmp eax, edx
jge 0x5d886e
mov edx, eax
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
jg 0x5d8878
mov ecx, ebp
mov eax, dword [esp + 0x10]
cmp ebx, eax
jle 0x5d8882
mov eax, ebx
push esi
push edx
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.00406fc0
mov ecx, dword [esp + 0xe4]
lea edx, [esp + 0x78]
push edx
call fcn.004941b0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
jmp 0x5d88c7
mov ecx, dword [esp + 0x1c]
jmp 0x5d88c7
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x30], edx
jge 0x5d8933
cmp dword [esp + 0x10], eax
jge 0x5d8933
cmp edi, ecx
jge 0x5d8933
mov ebp, dword [esp + 0x14]
cmp ebp, esi
jge 0x5d8933
cmp esi, ecx
jl 0x5d88e5
mov esi, ecx
cmp eax, edx
jge 0x5d88eb
mov edx, eax
cmp edi, ebp
mov ecx, edi
jg 0x5d88f3
mov ecx, ebp
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
cmp edi, eax
jle 0x5d8901
mov eax, edi
push esi
push edx
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.00406fc0
mov ecx, dword [esp + 0xe4]
lea eax, [esp + 0x68]
push eax
call fcn.004941b0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x24]
add ebp, eax
add edi, eax
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x2c]
add ebp, eax
add esi, eax
cmp ebx, edx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], esi
jge 0x5d89a9
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
cmp eax, ebx
jge 0x5d89a9
cmp dword [esp + 0x24], ecx
jge 0x5d89a9
mov eax, dword [esp + 0x14]
mov ebx, ebp
cmp eax, ebx
jge 0x5d89a9
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
lea ecx, [esp + 0xb0]
call fcn.00407060
mov ecx, dword [esp + 0xe4]
push eax
call fcn.004941b0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x30], edx
jge 0x5d89e7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
cmp edx, eax
jge 0x5d89e7
cmp edi, ecx
jge 0x5d89e7
cmp dword [esp + 0x14], esi
jge 0x5d89e7
lea eax, [esp + 0x10]
lea edx, [esp + 0x30]
push eax
lea ecx, [esp + 0xd0]
call fcn.00407060
mov ecx, dword [esp + 0xe4]
push eax
call fcn.004941b0
mov ebx, dword [esp + 0x4c]
lea ecx, [esp + 0x40]
call fcn.00409960
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x40]
cmp eax, dword [ecx + 4]
jne 0x5d86ed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret 8