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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x566f82
sub esp, 0xc8
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
xor ebx, ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
xor ebx, ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
mov ebx, ecx
and ebx, 0x1f
cmp ebx, 0x16
je 0x566f73
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp], eax
mov dword [esp + 0x48], ecx
mov ebx, dword [ecx + 0x64]
call ebx
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 4]
mov ebx, dword [esp + 8]
cmp ebx, 0
je 0x566f73
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
mov ebx, ecx
and ebx, 0x100
cmp ebx, 0
jne 0x566f78
xor eax, eax
cmp al, 0
je 0x566f73
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005e4cf0
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov ebx, ecx
and ebx, 0x1f
cmp ebx, 0x14
jne 0x566f6e
mov dword [esp + 0xd0], ebp
mov dword [esp], ebp
mov dword [esp + 0xd4], edx
mov dword [esp + 4], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 8], ecx
call fcn.005e7ce0
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
movzx ebx, byte [esp + 0xc]
cmp bl, 0
jne 0x566f6e
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005e6df0
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xb0], ebx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xb4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xac], esi
mov ebx, esi
and ebx, 0x1f
cmp ebx, 0x16
jne 0x566b7c
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.005e7ce0
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
movzx ebx, byte [esp + 0xc]
cmp bl, 0
jne 0x566b7c
cmp byte [esp + 0xdc], 0
je 0x566f54
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 8], ebx
call fcn.005e6df0
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x566f54
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov ebx, ecx
and ebx, 0x1f
cmp ebx, 0x16
je 0x566bd7
xor ebx, ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
xor ebx, ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ecx
add esp, 0xc8
ret
mov dword [esp + 0xd0], ebp
mov dword [esp], ebp
mov dword [esp + 0xd4], edx
mov dword [esp + 4], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 8], ecx
call fcn.005e6df0
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xa0], ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x566c78
cmp byte [esp + 0xdc], 0
je 0x566c78
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov ebx, ecx
and ebx, 0x160
cmp ebx, 0x100
je 0x566f4a
xor eax, eax
cmp al, 0
jne 0x566b9b
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005e7ce0
movzx ebx, byte [esp + 0xc]
cmp bl, 0
je 0x566f45
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp], eax
mov dword [esp + 0x48], ecx
mov ebx, dword [ecx + 0x2c]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp + 0x40], ecx
mov dword [esp], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 4], eax
call fcn.005eb110
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], ebx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp], eax
mov dword [esp + 0x48], ecx
mov ebx, dword [ecx + 0x70]
call ebx
mov ebx, dword [esp + 4]
cmp ebx, 0
jle 0x566f43
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], ebx
call fcn.005e7a70
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp], 0x716440
mov dword [esp + 0x38], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 8], eax
lea ebx, [esp + 0x30]
mov dword [esp + 0xc], ebx
call fcn.00418590
movzx ebx, byte [esp + 0x10]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
cmp bl, 0
je 0x566e4c
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ecx
xor ebx, ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov ebx, dword [0x7b7008]
mov dword [esp + 0xf0], ebx
mov ebx, dword [0x7b700c]
mov dword [esp + 0xf4], ebx
mov ebx, dword [0x7b7010]
mov dword [esp + 0xf8], ebx
add esp, 0xc8
ret
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], ebx
call fcn.005e7a70
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp], 0x716380
mov dword [esp + 0x38], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 8], eax
lea ebx, [esp + 0x28]
mov dword [esp + 0xc], ebx
call fcn.00418590
movzx ebx, byte [esp + 0x10]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
cmp bl, 0
je 0x566f0d
xor ebx, ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
mov ebx, dword [0x7b7018]
mov dword [esp + 0xf0], ebx
mov ebx, dword [0x7b701c]
mov dword [esp + 0xf4], ebx
mov ebx, dword [0x7b7020]
mov dword [esp + 0xf8], ebx
add esp, 0xc8
ret
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], ebx
call fcn.005e6df0
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x566a08
jmp 0x566f0d
jmp 0x566d41
mov eax, 1
jmp 0x566c6f
mov ebp, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
jmp 0x566a08
jmp 0x566b7c
jmp 0x566a08
mov eax, 1
jmp 0x5669e3
call fcn.004616d0
jmp fcn.005668f0