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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x56cfbf
sub esp, 0x7c
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x56cf80
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x56ca1e
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
xor ebx, ebx
jmp 0x56c9d1
inc ebx
cmp ebx, edx
jge 0x56ca1e
mov ebp, dword [ecx + ebx*4]
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x56c9d0
mov eax, dword [0xb7d4b0]
mov ecx, dword [0xb7d4b4]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x7c
ret
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x56cf32
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], ecx
call fcn.0056c240
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x56ceff
mov eax, dword [esp + 0x88]
test eax, eax
jg 0x56ce97
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.005677d0
movzx eax, byte [esp + 8]
test al, al
je 0x56cdf3
lea eax, [0x79b1c0]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [esp + 0x64], edi
mov eax, dword [0xb91180]
test eax, eax
jne 0x56cde2
mov eax, dword [esp + 0x80]
mov dword [edi], eax
lea eax, [0x78d980]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 1
call fcn.0043a950
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov edx, dword [0xb91180]
test edx, edx
jne 0x56cdd0
mov edx, dword [esp + 0x64]
mov dword [edi], edx
inc eax
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xb0]
test ebx, ebx
jne 0x56cdc3
mov edx, dword [0x8abdd8]
mov dword [esp + 0x50], edx
mov edx, 1
mov ebx, 1
lea ebp, [esp + 0x50]
mov dword [esp + 0x34], ebx
xor esi, esi
jmp 0x56cb72
inc esi
mov ebx, dword [esp + 0x34]
cmp esi, edx
jge 0x56cbad
mov ebx, dword [ebp + esi*4]
test ebx, ebx
jne 0x56cb6d
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0x7c
ret
test eax, eax
jle 0x56cdb8
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x60], ebp
xor ecx, ecx
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0x5c], ecx
xor ecx, ecx
jmp 0x56cbf4
mov esi, eax
mov eax, dword [esp + 0x58]
lea edi, [eax + 0xc]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x34]
mov esi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x44], ecx
mov eax, dword [edi]
mov dword [esp + 0x54], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x3c], ecx
mov edi, dword [edi + 8]
mov dword [esp + 0x40], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.0056dd30
movzx eax, byte [esp + 0x18]
test al, al
je 0x56cda7
mov ecx, dword [esp + 0x48]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
ja 0x56cd6d
mov eax, dword [esp + 0x5c]
lea ecx, [ecx + ecx*2]
mov ebp, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [0xb91180]
lea edi, [eax + ecx*4]
test ebp, ebp
jne 0x56cd5b
mov ebp, dword [esp + 0x54]
mov dword [eax + ecx*4], ebp
mov ecx, dword [esp + 0x44]
inc ecx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jl 0x56cbd5
test edx, edx
jne 0x56cd2c
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 4
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x8b4530]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x7c
ret
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0x7c
ret
mov ecx, eax
mov eax, dword [esp + 0x54]
call fcn.0044f0d0
mov eax, ecx
jmp 0x56cc7f
lea eax, [0x78d980]
mov dword [esp], eax
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x48]
jmp 0x56cc54
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x56cc7f
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x56cc90
mov esi, edx
mov edx, ebx
mov ebx, ebp
mov ebp, esi
jmp 0x56cb65
mov edx, eax
mov eax, dword [esp + 0x64]
call fcn.0044f0d0
mov eax, edx
jmp 0x56cb2f
mov eax, dword [esp + 0x80]
call fcn.0044f0d0
jmp 0x56cad3
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x68], eax
mov dword [esp], eax
mov dword [esp + 4], 0
lea ecx, [esp + 0x68]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x84]
mov dword [esp + 0x18], ecx
call fcn.0056cfd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
jne 0x56ce64
mov edi, eax
mov eax, ecx
mov ecx, edx
jmp 0x56cb30
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0x7c
ret
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0056da30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x56ca7f
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x7c
ret
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x7c
ret
mov dword [esp], eax
lea eax, [esp + 0x84]
mov dword [esp + 4], eax
call fcn.00568f90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x7c
ret
mov eax, dword [0xb7d4b0]
mov ecx, dword [0xb7d4b4]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x7c
ret
call fcn.0044d880
jmp fcn.0056c990