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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x4c]
cmp eax, dword [ecx + 8]
jbe 0x56b64f
sub esp, 0xcc
mov eax, 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov byte [esp + 0x2f], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
lea esi, [eax + 8]
mov dword [esp + 0x60], esi
lea edi, [esp + 0x6c]
call fcn.0045d09e
mov ecx, dword [esp + 0x70]
test ecx, 0x80000000
je 0x56b62e
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
shl ebx, 1
mov ebp, ecx
shr ecx, 0x1f
or ebx, ecx
shl ebp, 1
mov ecx, ebx
shl ebx, 1
shr ebp, 0x1f
or ebp, ebx
mov ebx, ebp
add ebp, 0xd7b17f80
shr ecx, 0x1f
add ebx, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x34], edx
test ecx, ecx
sete cl
test ebp, ebp
sete bl
and ebx, ecx
test bl, bl
je 0x56b5ba
mov ecx, dword [esp + 0x6c]
test ecx, 0x3fffffff
jne 0x56b5ba
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
test edx, edx
setne bl
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebx, ebp
mov byte [esp + 0x2e], bl
test bl, bl
je 0x56b587
lea eax, [0x63c540]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00405a60
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0x2e]
test cl, cl
mov dword [esp + 0x50], eax
jne 0x56b510
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x18], ebx
call fcn.004c41a0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
test eax, eax
je 0x56b223
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ebx
movzx eax, byte [esp + 0x2e]
test al, 1
jne 0x56b20b
add esp, 0xcc
ret
and eax, 0xfffffffe
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.0049d720
jmp 0x56b204
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
lea edx, [0x679924]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004b9cb0
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
jne 0x56b267
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xe8]
cmp eax, edx
ja 0x56b63b
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x56b505
mov edx, dword [ecx + 0x44]
test edx, edx
je 0x56b4be
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0056aef0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x56b4a9
mov dword [esp], 8
lea eax, [0x69265c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0043bb40
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea edi, [esp + 0x94]
xor eax, eax
call fcn.0045cbb4
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov word [esp + 0x9c], 1
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x94], eax
mov word [esp + 0xb4], 1
mov eax, dword [esp + 0x50]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x64]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00440f30
mov eax, dword [esp + 0xc]
test eax, eax
je 0x56b486
cmp eax, 1
jne 0x56b63b
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
test eax, eax
jne 0x56b44b
test eax, eax
jne 0x56b3e9
mov eax, dword [esp + 0x58]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
movzx eax, byte [esp + 0x2e]
test al, 1
jne 0x56b3d1
add esp, 0xcc
ret
and eax, 0xfffffffe
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.0049d720
jmp 0x56b3ca
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
call eax
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x40]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xf8], eax
movzx eax, byte [esp + 0x2e]
test al, 1
jne 0x56b433
add esp, 0xcc
ret
and eax, 0xfffffffe
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.0049d720
jmp 0x56b42c
mov dword [esp + 0x54], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x56b39b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
jmp 0x56b39b
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x56b39b
mov dword [esp], eax
call fcn.00555680
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x56b39b
mov dword [esp + 0x3c], eax
mov dword [esp], ecx
call fcn.0054cbc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x44], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x56b4f0
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x40], ecx
mov ecx, eax
jmp 0x56b290
lea edi, [eax + 0x40]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.0045c920
mov eax, ecx
jmp 0x56b4e9
lea ecx, [0x7cd9e0]
jmp 0x56b285
lea eax, [0x64b680]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
lea ecx, [0x5794b0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x56b575
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0049d970
mov eax, dword [esp + 0xc]
lea ecx, [0x692abc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xc4], eax
mov byte [esp + 0x2f], 1
jmp 0x56b164
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.0045c920
mov eax, ecx
jmp 0x56b53b
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jne 0x56b139
movzx ecx, byte [esp + 0x2e]
test cl, cl
mov eax, 0
jmp 0x56b15a
lea edi, [esp + 0x80]
mov esi, dword [esp + 0x60]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0x80]
call fcn.0045d09e
call fcn.0049f290
mov eax, dword [esp + 0x30]
test eax, eax
sete cl
mov edx, dword [esp + 0x34]
test edx, edx
sete bl
mov ebp, dword [esp + 0x14]
mov esi, edx
mov edx, dword [esp + 0x18]
and ebx, ecx
test bl, bl
je 0x56b60d
mov eax, dword [esp + 0xd8]
mov ecx, ebp
jmp 0x56b115
cmp eax, ebp
seta cl
cmp esi, edx
sete bl
xchg edi, ebx
setg bl
xchg edi, ebx
and ecx, ebx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x56b5ff
mov edx, esi
mov ebp, eax
jmp 0x56b5ff
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
jmp 0x56b0e9
mov ecx, eax
call fcn.0045c9c0
nop
call fcn.004312b0
add esp, 0xcc
ret
call fcn.0045b380
jmp fcn.0056b030