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

Disassembly:
sub esp, 0xe4
push ebx
push ebp
mov ebp, dword [esp + 0xf0]
push esi
mov esi, ecx
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [ebp + 0x30]
sub eax, edx
mov ecx, eax
sar ecx, 0x1f
push edi
mov edi, ecx
xor edi, eax
sub edi, ecx
cmp edi, 0x10
jge 0x562cd7
mov eax, dword [ebp + 0x34]
sub eax, dword [esi + 4]
mov byte [esp + 0x16], 1
mov ecx, eax
sar ecx, 0x1f
mov edi, ecx
xor edi, eax
sub edi, ecx
cmp edi, 0x10
jl 0x562cdc
mov byte [esp + 0x16], 0
mov edi, dword [ebx]
sub edx, edi
mov eax, edx
sar eax, 0x1f
mov ecx, eax
xor ecx, edx
sub ecx, eax
cmp ecx, 0x10
jge 0x562d0b
mov eax, dword [esi + 4]
sub eax, dword [ebx + 4]
mov byte [esp + 0x17], 1
mov ecx, eax
sar ecx, 0x1f
mov edx, ecx
xor edx, eax
sub edx, ecx
cmp edx, 0x10
jl 0x562d10
mov byte [esp + 0x17], 0
mov edx, dword [esp + 0xfc]
sub edi, dword [edx]
mov eax, edi
sar eax, 0x1f
mov ecx, eax
xor ecx, edi
sub ecx, eax
cmp ecx, 0x10
jge 0x562d43
mov eax, dword [ebx + 4]
sub eax, dword [edx + 4]
mov ecx, eax
sar ecx, 0x1f
mov edi, ecx
xor edi, eax
sub edi, ecx
cmp edi, 0x10
jge 0x562d43
mov al, 1
jmp 0x562d45
xor al, al
movzx ecx, byte [esp + 0x17]
movzx eax, al
add eax, ecx
mov cl, byte [esp + 0x16]
movzx edi, cl
add eax, edi
cmp eax, 2
jl 0x562d73
mov eax, edx
mov edi, ebp
call fcn.005623c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
test cl, cl
mov eax, esi
je 0x562d7b
mov eax, ebx
push 0
push eax
push ebp
lea eax, [esp + 0x58]
lea ecx, [esp + 0x24]
call fcn.005620d0
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
mov ecx, dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [ebx]
mov dword [esp + 0x5c], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x68], edx
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x5c]
call fcn.0055c5f0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x50]
xor esi, esi
test edi, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jle 0x562e5f
lea ebx, [esp + 0x88]
jmp 0x562e10
push 4
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x34]
push edx
push ebx
mov ecx, ebp
call fcn.005625c0
lea eax, [edi - 1]
cmp esi, eax
je 0x562e5f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
add esi, 1
add ebx, 0x18
cmp esi, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
jl 0x562e10
cmp edi, 1
jle 0x562f39
add edi, 0xffffffff
lea ebp, [esp + 0x7c]
mov dword [esp + 0x20], edi
mov esi, dword [ebp]
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x4c]
lea edi, [esp + 0x64]
call fcn.0055c0d0
mov eax, dword [esp + 0x5c]
cdq
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x58]
push 0x10
mov edi, edx
cdq
push edx
push eax
push edx
push eax
call fcn.00612640
mov cl, 0x10
call fcn.0066aae0
push edi
push esi
push edi
push esi
mov ebx, eax
call fcn.00612640
mov cl, 0x10
call fcn.0066aae0
add ebx, eax
mov edx, ebx
mov ecx, 0x10000
call fcn.0055d050
lea ecx, [esp + 0x30]
add esp, 4
push ecx
mov ebx, ecx
call fcn.0055c940
mov ecx, dword [esp + 0x2c]
mov eax, ecx
sar eax, 0x1f
mov edx, eax
xor edx, ecx
sub edx, eax
cmp edx, 0x10
jge 0x562f24
mov ecx, dword [esp + 0x30]
mov eax, ecx
sar eax, 0x1f
mov edx, eax
xor edx, ecx
sub edx, eax
cmp edx, 0x10
jge 0x562f24
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x44]
lea ecx, [eax + 0xa8]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x4c]
call fcn.00552400
add ebp, 4
sub dword [esp + 0x20], 1
jne 0x562e73
mov ebp, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
push edx
lea ecx, [esp + 0x40]
lea edx, [esp + 0x1c]
mov eax, ebp
call fcn.005621a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8