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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, edx
mov esi, ecx
mov al, byte [edi + 1]
mov dword [edi + 0x1c], 0
mov byte [edi], 0
mov byte [esi + 0x1c], al
mov eax, dword [edi + 0x20]
test eax, eax
je 0x562e3b
mov dword [esi + 0x78], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x7c], eax
mov edx, dword [edi + 0x18]
mov ebx, dword [esi + 0x80]
cmp edx, ebx
ja 0x563214
lea ecx, [esi + 0x1d]
mov dword [esp + 0x1c], 0x1000
lea ebp, [edi + 0x14]
mov dword [esp + 0x20], 0x11
mov eax, ecx
cmp dword [esi], 8
jne 0x562f02
cmp dword [edi + 0x20], 0
mov dword [esp + 0x14], eax
jne 0x562ea1
cmp edx, ebx
jne 0x563214
mov dword [esi + 0x80], 0
lea eax, [esi + 0x1d]
mov dword [ebp], 0
lea ebp, [edi + 0x14]
mov dword [edi + 0x18], 0
mov dword [esp + 0x14], eax
lea ecx, [esi + 0x40]
mov dword [esi], 0
mov dword [esi + 4], 0
mov word [esi + 0x1a], 0
mov byte [eax], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
call fcn.0055bb50
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 4
mov dword [esi + 0x8c], 8
mov word [esi + 0x92], 1
mov dword [esi + 0x9c], 0
cmp dword [edi + 0x20], 0
mov eax, ebp
mov ebp, dword [esi + 0x80]
mov ebx, dword [esi + 0x7c]
mov dword [esp + 0x10], eax
jne 0x562f68
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x562f68
mov dword [esp + 0x10], eax
cmp ebp, ebx
jb 0x562f70
cmp byte [ecx], 0
mov dword [esp + 0x10], eax
je 0x562f68
cmp dword [edi + 0x18], ebx
jb 0x563214
sub ebp, ebx
je 0x562f56
cmp ebp, ebx
jae 0x563214
mov ecx, dword [esi + 0x78]
push ebp
lea eax, [ecx + ebx]
push eax
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
lea edx, [edi + 0x14]
mov dword [esi + 0x80], ebp
sub dword [edi + 0x18], ebx
mov dword [esp + 0x10], edx
mov dword [edx], ebp
cmp ebp, ebx
ja 0x563214
sub ebx, ebp
mov edx, edi
push ebx
mov ecx, esi
call fcn.00563230
mov ebx, dword [edi + 0x20]
mov edx, eax
test ebx, ebx
jne 0x562f8b
mov ecx, dword [esi + 0x78]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x80]
mov dword [ecx], eax
test edx, edx
jne 0x56320a
cmp dword [esi], 5
jne 0x5631dd
mov dword [esp + 0x14], edx
cmp dword [esi + 0x24], edx
jne 0x5631d0
movzx ecx, byte [esi + 0x16]
mov eax, dword [esi + 0x30]
mov ebp, eax
mov edx, dword [esi + 0x34]
mov ebx, edx
mov dword [esp + 0x18], ecx
test cl, 0x20
jne 0x563002
movzx ecx, byte [esi + 0x17]
xor edx, edx
mov eax, ecx
shr ecx, 3
and eax, 7
add ecx, 7
add eax, 8
call fcn.00567120
test byte [esp + 0x18], 0xe0
je 0x562ff6
cmp ebx, edx
jb 0x563002
ja 0x562ff6
cmp ebp, eax
jbe 0x563002
mov ebp, eax
mov dword [esp + 0x14], 1
mov ebx, edx
cmp dword [edi + 0x7c], edx
ja 0x563014
jb 0x56300e
cmp dword [edi + 0x78], eax
jae 0x563014
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], edx
cmp dword [edi + 0x84], ebx
ja 0x563032
jb 0x563026
cmp dword [edi + 0x80], ebp
jae 0x563032
mov dword [edi + 0x80], ebp
mov dword [edi + 0x84], ebx
test edx, edx
ja 0x5631d0
jb 0x563047
cmp eax, 0x80000000
ja 0x5631d0
xor ecx, ecx
cmp ecx, ebx
jne 0x5631c3
test edx, edx
ja 0x56305e
jb 0x563060
cmp eax, 0x20000
jb 0x563060
mov eax, ebp
mov dword [esi + 0x98], eax
cmp dword [esi + 0x94], ecx
jne 0x56308a
mov eax, dword [esi + 0x6c]
mov edx, 0x20040
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x94], eax
test eax, eax
je 0x5631c3
cmp dword [esi + 0x60], 0
jne 0x5630a9
mov eax, dword [esi + 0x6c]
mov edx, 0x20080
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x60], eax
test eax, eax
je 0x5631c3
cmp dword [edi + 0x20], 0
je 0x5630b6
xor cl, cl
jmp 0x5631a0
mov eax, dword [esi + 0x80]
mov ebx, ebp
cmp eax, dword [edi + 0x18]
jne 0x563214
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x80], 0
mov dword [edi + 0x18], 0
mov eax, dword [esi + 0x80]
mov dword [edi + 0x14], eax
test ecx, ecx
je 0x56310b
add ebp, 0x20080
and ebp, 0xfffe0000
cmp ebp, ebx
jb 0x5631c3
lea ebx, [ebp + 0x20000]
cmp ebx, ebp
jb 0x5631c3
mov eax, dword [esi + 0x64]
cmp ebx, 0x1000
cmovb ebx, dword [esp + 0x1c]
cmp ebx, eax
jbe 0x563197
test eax, eax
je 0x56315c
test ecx, ecx
jne 0x563131
cmp ebx, 0x100000
jae 0x563131
xor edx, edx
jmp 0x563136
mov edx, 0x40000
cmp dword [esp + 0x14], 0
mov ecx, 0xc
cmovne ecx, dword [esp + 0x20]
mov eax, 1
shl eax, cl
add eax, edx
cmp eax, ebx
jae 0x56315a
inc ecx
cmp ecx, 0x20
jb 0x563145
jmp 0x56315c
mov ebx, eax
mov edx, dword [esi + 0x68]
test edx, edx
je 0x56317b
mov eax, dword [esi + 0x70]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov dword [esi + 0x68], 0
mov dword [esi + 0x64], 0
mov eax, dword [esi + 0x70]
mov edx, ebx
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x68], eax
test eax, eax
je 0x5631c3
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x78], eax
mov dword [esi + 0x64], ebx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x7c], ebp
mov dword [edi + 0x10], eax
lea eax, [esi + 0x1d]
mov byte [eax], cl
mov dword [esi], 6
mov edx, dword [edi + 0x18]
mov ebx, dword [esi + 0x80]
cmp edx, ebx
ja 0x563214
mov ebp, dword [esp + 0x10]
mov ecx, eax
jmp 0x562e64
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x14
ret
test ebx, ebx
jne 0x563200
cmp byte [edi], 1
mov eax, dword [esi + 0x80]
je 0x5631fa
cmp byte [esi + 0x1d], bl
je 0x563200
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jb 0x563200
mov eax, ecx
sub eax, dword [edi + 0x18]
mov dword [edi + 0x1c], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x14
ret