Function at 0x562530
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 0x56255b
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 0x562934
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 0x562622
cmp dword [edi + 0x20], 0
mov dword [esp + 0x14], eax
jne 0x5625c1
cmp edx, ebx
jne 0x562934
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.0055b260
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 0x562688
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x562688
mov dword [esp + 0x10], eax
cmp ebp, ebx
jb 0x562690
cmp byte [ecx], 0
mov dword [esp + 0x10], eax
je 0x562688
cmp dword [edi + 0x18], ebx
jb 0x562934
sub ebp, ebx
je 0x562676
cmp ebp, ebx
jae 0x562934
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 0x562934
sub ebx, ebp
mov edx, edi
push ebx
mov ecx, esi
call fcn.00562950
mov ebx, dword [edi + 0x20]
mov edx, eax
test ebx, ebx
jne 0x5626ab
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 0x56292a
cmp dword [esi], 5
jne 0x5628fd
mov dword [esp + 0x14], edx
cmp dword [esi + 0x24], edx
jne 0x5628f0
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 0x562722
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.00566830
test byte [esp + 0x18], 0xe0
je 0x562716
cmp ebx, edx
jb 0x562722
ja 0x562716
cmp ebp, eax
jbe 0x562722
mov ebp, eax
mov dword [esp + 0x14], 1
mov ebx, edx
cmp dword [edi + 0x7c], edx
ja 0x562734
jb 0x56272e
cmp dword [edi + 0x78], eax
jae 0x562734
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], edx
cmp dword [edi + 0x84], ebx
ja 0x562752
jb 0x562746
cmp dword [edi + 0x80], ebp
jae 0x562752
mov dword [edi + 0x80], ebp
mov dword [edi + 0x84], ebx
test edx, edx
ja 0x5628f0
jb 0x562767
cmp eax, 0x80000000
ja 0x5628f0
xor ecx, ecx
cmp ecx, ebx
jne 0x5628e3
test edx, edx
ja 0x56277e
jb 0x562780
cmp eax, 0x20000
jb 0x562780
mov eax, ebp
mov dword [esi + 0x98], eax
cmp dword [esi + 0x94], ecx
jne 0x5627aa
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 0x5628e3
cmp dword [esi + 0x60], 0
jne 0x5627c9
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 0x5628e3
cmp dword [edi + 0x20], 0
je 0x5627d6
xor cl, cl
jmp 0x5628c0
mov eax, dword [esi + 0x80]
mov ebx, ebp
cmp eax, dword [edi + 0x18]
jne 0x562934
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 0x56282b
add ebp, 0x20080
and ebp, 0xfffe0000
cmp ebp, ebx
jb 0x5628e3
lea ebx, [ebp + 0x20000]
cmp ebx, ebp
jb 0x5628e3
mov eax, dword [esi + 0x64]
cmp ebx, 0x1000
cmovb ebx, dword [esp + 0x1c]
cmp ebx, eax
jbe 0x5628b7
test eax, eax
je 0x56287c
test ecx, ecx
jne 0x562851
cmp ebx, 0x100000
jae 0x562851
xor edx, edx
jmp 0x562856
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 0x56287a
inc ecx
cmp ecx, 0x20
jb 0x562865
jmp 0x56287c
mov ebx, eax
mov edx, dword [esi + 0x68]
test edx, edx
je 0x56289b
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 0x5628e3
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 ecx, eax
mov dword [esi], 6
mov edx, dword [edi + 0x18]
mov ebx, dword [esi + 0x80]
cmp edx, ebx
ja 0x562934
mov ebp, dword [esp + 0x10]
jmp 0x562584
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 0x562920
cmp byte [edi], 1
mov eax, dword [esi + 0x80]
je 0x56291a
cmp byte [esi + 0x1d], bl
je 0x562920
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jb 0x562920
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