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

Disassembly:
sub esp, 0x88
push ebx
push ebp
push esi
push edi
or edi, 0xffffffff
push 0
mov esi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov ebp, edi
call fcn.00514860
mov ecx, esi
mov dword [esp + 0x1c], eax
mov ebx, edx
call fcn.00514620
cmp edx, ebx
jg 0x562836
jl 0x562571
cmp eax, dword [esp + 0x1c]
jae 0x562836
mov eax, dword [esi + 0xa0]
cmp eax, 1
je 0x5626d7
cmp eax, 3
je 0x5626d7
cmp eax, 2
jne 0x56268c
push 1
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.0057bca0
test al, al
je 0x56279f
mov ecx, esi
call fcn.00514620
mov edi, eax
sub edi, 4
mov ebp, edx
sbb ebp, 0
test byte [esp + 0x48], 8
je 0x562674
test byte [esp + 0x45], 2
je 0x562674
mov eax, dword [esp + 0x46]
and eax, 0x1fff
cmp ax, 0x10
jb 0x562674
cmp ax, 0x1fff
jae 0x562674
xor eax, eax
push eax
push 4
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov word [esp + 0x80], ax
call fcn.00579d50
test al, al
je 0x562674
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.0057a230
test al, al
je 0x562674
test byte [esp + 0x5a], 4
je 0x562674
mov ecx, esi
call fcn.00514620
mov edx, dword [esp + 0x18]
mov ecx, edi
sub ecx, eax
add ecx, dword [esp + 0x4b]
mov eax, dword [esp + 0x46]
push ecx
push edx
and eax, 0x1fff
push eax
mov ecx, esi
call fcn.00561b40
cmp eax, dword [esp + 0x9c]
je 0x5627cb
mov eax, dword [esp + 0x53]
mov ecx, dword [esp + 0x4f]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
push eax
push ecx
mov ecx, esi
call edx
jmp 0x56279f
cmp eax, 4
jne 0x56279f
push 1
lea eax, [esp + 0x84]
push eax
mov ecx, esi
call fcn.0057c250
test al, al
je 0x56279f
test byte [esp + 0x85], 8
je 0x56279f
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
jmp 0x5627ed
push 0
push 0x10000
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.00579d50
test al, al
je 0x5627ed
mov ecx, esi
call fcn.00514620
mov ecx, dword [esp + 0x18]
mov edi, eax
mov ebp, edx
sub edi, 4
sbb ebp, 0
mov dl, cl
add dl, 0x43
cmp dl, 0x32
ja 0x56279f
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov word [esp + 0x40], ax
push ecx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.0057a230
test al, al
je 0x56279f
cmp word [esp + 0x24], 0
je 0x56279f
mov ecx, esi
call fcn.00514620
test byte [esp + 0x26], 4
mov ebx, eax
mov dword [esp + 0x94], edx
je 0x562785
movzx ecx, word [esp + 0x24]
mov edx, dword [esp + 0x18]
push ecx
push edx
push 0
mov ecx, esi
call fcn.00561b40
cmp eax, dword [esp + 0x9c]
je 0x5627dd
movzx eax, word [esp + 0x24]
cdq
add eax, ebx
adc edx, dword [esp + 0x94]
mov ecx, esi
push edx
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
push 0
mov ecx, esi
call fcn.00514860
mov ecx, esi
mov dword [esp + 0x78], eax
mov ebx, edx
call fcn.00514620
cmp edx, ebx
jl 0x562571
jg 0x5627ed
cmp eax, dword [esp + 0x78]
jb 0x562571
jmp 0x5627ed
mov ecx, dword [esp + 0x5b]
mov edx, dword [esp + 0x5f]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jmp 0x5627ed
mov edx, dword [esp + 0x27]
mov eax, dword [esp + 0x2b]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
test ebp, ebp
jl 0x562802
jg 0x5627f7
test edi, edi
jb 0x562802
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebp
push edi
mov ecx, esi
call eax
mov edx, dword [esp + 0x14]
test edx, edx
jl 0x56283a
jg 0x562813
cmp dword [esp + 0x10], 0
jb 0x56283a
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
sub dword [esp + 0x10], ecx
pop edi
pop esi
pop ebp
sbb edx, eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0x88
ret 4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4