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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xb0]
push ebp
mov ebp, dword [esp + 0xb8]
push esi
mov esi, dword [esp + 0xb4]
mov eax, dword [esi + 0x14]
lea ecx, [eax - 0xd]
cmp ecx, 0x1f
push edi
ja case.0x562e70.16
movzx ecx, byte [ecx + 0x563278]
jmp dword [ecx*4 + 0x563270]
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x18]
mov edx, 9
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x50], edx
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x20]
mov dword [esp + 0x94], eax
mov dword [esp + 0x3c], edi
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esi + 0x24]
mov dword [esp + 0x70], ecx
movzx ecx, ah
mov dword [esp + 0x4c], edi
push ecx
mov dword [esp + 0x78], edx
movzx edx, al
mov edi, eax
mov eax, dword [esp + 0xc8]
push eax
push ebp
lea ecx, [esp + 0x98]
push ebx
shr edi, 0x10
push ecx
mov dword [esp + 0x24], edx
and edi, 0xff
call fcn.00562d80
mov eax, dword [esi + 0x14]
lea ecx, [eax - 0xd]
add esp, 0x14
cmp ecx, 0x1f
ja case.0x562e70.16
movzx edx, byte [ecx + 0x5632ac]
jmp dword [edx*4 + 0x563298]
mov eax, dword [esi + 8]
mov esi, dword [esi + 0xc]
sar eax, 2
sar esi, 2
mov dword [esp + 0x48], esi
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x10]
push eax
sar esi, 2
push esi
sar ebp, 2
push ebp
lea ecx, [esp + 0x48]
push ebx
push ecx
call fcn.00562640
push edi
push esi
push ebp
lea edx, [esp + 0x84]
push ebx
push edx
call fcn.00562640
add esp, 0x28
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa4
ret
mov eax, dword [esi + 8]
mov esi, dword [esi + 0xc]
sar eax, 1
sar esi, 1
mov dword [esp + 0x48], esi
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x10]
push eax
sar esi, 1
sar ebp, 1
push esi
add ebp, 2
push ebp
lea ecx, [esp + 0x48]
push ebx
push ecx
call fcn.005628b0
push edi
push esi
push ebp
lea edx, [esp + 0x84]
push ebx
push edx
call fcn.005628b0
add esp, 0x28
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa4
ret
mov esi, dword [esi + 8]
mov eax, dword [esp + 0x10]
sar esi, 1
push eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0xc8]
sar ebp, 1
push esi
add ebp, 2
push ebp
lea ecx, [esp + 0x48]
push ebx
push ecx
call fcn.00562b20
push edi
push esi
push ebp
lea edx, [esp + 0x84]
push ebx
push edx
call fcn.00562b20
add esp, 0x28
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0xc4]
push eax
push esi
push ebp
lea ecx, [esp + 0x48]
push ebx
push ecx
call fcn.00562d80
push edi
push esi
push ebp
lea edx, [esp + 0x84]
push ebx
push edx
call fcn.00562d80
add esp, 0x28
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa4
ret
cmp eax, 8
je 0x562fcb
cmp eax, 9
je 0x562fcb
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xa4
ret
mov ecx, dword [ebx]
mov edi, dword [ebx + 4]
cmp ecx, edi
je 0x563260
mov edx, dword [esp + 0xc4]
shl edx, 0x10
mov eax, 0x80008000
sub eax, edx
sub edi, ecx
sub eax, ebp
sar edi, 2
cmp dword [ecx], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], eax
jae 0x56302c
push 0
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebx + 4]
push eax
push ecx
call fcn.005625a0
sub eax, dword [ebx]
add esp, 0x10
sar eax, 2
and eax, 0xfffffffe
cmp eax, edi
mov dword [esp + 0x14], eax
jae 0x563260
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov eax, ecx
sub eax, dword [esp + 0xc4]
mov ecx, dword [ebx + 4]
sub eax, 1
shl eax, 0xd
add eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, ebp
sub eax, 0x7fff8000
cmp dword [ecx - 4], eax
mov dword [esp + 0x1c], eax
jbe 0x56308e
mov eax, dword [ebx]
push 0
lea edx, [esp + 0x20]
push edx
push ecx
push eax
call fcn.005625f0
sub eax, dword [ebx]
add esp, 0x10
sar eax, 2
add eax, 1
and eax, 0xfffffffe
cmp dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
jae 0x563260
lea eax, [esp + 0x1b]
push eax
push edi
lea ecx, [esp + 0x28]
mov byte [esp + 0x23], 0
call fcn.004a4820
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov ebx, dword [ebx]
mov edx, dword [esp + 0x10]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
add eax, eax
lea edi, [ebx + ecx*4]
add eax, eax
lea ebx, [ebx + edx*4]
add eax, eax
or ecx, 0xffffffff
cmp edi, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], eax
je 0x56324f
nop
mov eax, dword [edi]
mov ebx, dword [esp + 0xc4]
mov edx, eax
shr edx, 0x10
lea edx, [edx + ebx - 0x8000]
cmp edx, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
jae 0x5631fc
and eax, 0xffff
lea ebx, [eax + ebp - 0x8000]
mov eax, dword [edi + 4]
and eax, 0xffff
cmp ecx, edx
lea eax, [eax + ebp - 0x8000]
mov dword [esp + 0x10], eax
je 0x56318f
mov eax, edx
xor eax, ecx
test eax, 0xfffffff8
je 0x56318d
test ecx, ecx
jl 0x563173
sar ecx, 3
cmp dword [esi + 0x14], 8
jne 0x563158
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 8]
push edx
mov edx, dword [esp + 0x24]
push eax
push edx
push ecx
push esi
call fcn.005620f0
jmp 0x563170
mov eax, dword [esp + 0xc8]
mov edx, dword [esi + 8]
push eax
mov eax, dword [esp + 0x24]
push edx
push eax
push ecx
push esi
call fcn.00562190
add esp, 0x14
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
sub ecx, eax
push ecx
push 0
push eax
call fcn.005f7e70
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, edx
test ebx, ebx
jge 0x563195
xor ebx, ebx
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x10], eax
jle 0x5631a3
mov dword [esp + 0x10], eax
cmp ebx, dword [esp + 0x10]
jge 0x5631fc
mov edi, dword [esp + 0x10]
mov eax, ebx
sar eax, 3
add eax, dword [esp + 0x20]
sar edi, 3
add edi, dword [esp + 0x20]
cmp eax, edi
jne 0x5631c9
mov dl, byte [esp + 0x10]
sub dl, bl
jmp 0x5631f6
test bl, 7
je 0x5631da
and bl, 7
mov dl, 8
sub dl, bl
add byte [eax], dl
add eax, 1
cmp eax, edi
je 0x5631ea
mov edi, edi
add byte [eax], 8
add eax, 1
cmp eax, edi
jne 0x5631e0
mov dl, byte [esp + 0x10]
test dl, 7
je 0x5631f8
and dl, 7
add byte [eax], dl
mov edi, dword [esp + 0x14]
add edi, 8
cmp edi, dword [esp + 0x34]
mov dword [esp + 0x14], edi
jne 0x5630e0
test ecx, ecx
jl 0x56324f
sar ecx, 3
cmp dword [esi + 0x14], 8
jne 0x563234
mov eax, dword [esp + 0xc8]
mov edx, dword [esi + 8]
push eax
mov eax, dword [esp + 0x24]
push edx
push eax
push ecx
push esi
call fcn.005620f0
jmp 0x56324c
mov edx, dword [esp + 0xc8]
mov eax, dword [esi + 8]
push edx
mov edx, dword [esp + 0x24]
push eax
push edx
push ecx
push esi
call fcn.00562190
add esp, 0x14
mov eax, dword [esp + 0x20]
test eax, eax
je 0x563260
push eax
call fcn.005f7a6f
add esp, 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa4
ret