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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x56afee
sub esp, 0x54
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
xor eax, eax
xor ecx, ecx
jmp 0x56adaa
inc eax
mov ecx, ebp
cmp edx, eax
jle 0x56adea
lea ebp, [ebx + eax*8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], esi
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], esi
nop
movzx ebp, byte [esp + 0x3d]
movzx esi, byte [esp + 0x3c]
shl esi, 8
or ebp, esi
cmp bp, 0xffff
je 0x56ade6
cmp cx, bp
jb 0x56ada7
mov ebp, ecx
jmp 0x56ada7
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x56adf7
mov edx, 1
lea ebx, [ecx + 1]
movzx ebx, bx
imul edx, ebx
mov eax, dword [esp + 0x70]
lea ebx, [eax + edx*2]
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
jl 0x56ae65
cmp ecx, eax
jb 0x56afe8
mov dword [esp + 0x24], edx
lea eax, [0x69b640]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.0044bce0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
sub eax, ecx
mov edx, dword [esp + 0x5c]
sub edx, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ecx, dword [esp + 0x58]
add eax, ecx
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x24]
mov esi, ebp
xor edi, edi
jmp 0x56af2d
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
add esp, 0x54
ret
mov esi, dword [esp + 0x28]
add esi, 0xfffffffe
mov edx, esi
mov esi, dword [esp + 0x24]
cmp edx, 2
jl 0x56afbf
mov dword [esp + 0x28], edx
nop
inc edi
movzx edx, byte [eax + 1]
movzx esi, byte [eax]
shl esi, 8
or esi, edx
cmp ebp, edi
jae 0x56af94
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], eax
mov word [esp + 0x22], si
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x69b640]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
movzx esi, word [esp + 0x22]
mov word [ecx + edi*2 - 2], si
lea edx, [ebx - 2]
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 2
add eax, edx
mov edx, dword [esp + 0x24]
cmp edi, edx
jl 0x56af20
test si, 1
je 0x56af20
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x54
ret
call fcn.00465e60
nop
call fcn.004649b0
jmp fcn.0056ad80