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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x56f313
sub esp, 0x60
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x2f
call fcn.004028e0
mov eax, dword [esp + 0xc]
test eax, eax
jl 0x56f008
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0056e770
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
sub eax, ecx
dec eax
mov ebx, eax
neg eax
sar eax, 0x1f
lea ebp, [ecx + 1]
and ebp, eax
mov eax, dword [esp + 0x64]
add ebp, eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test esi, esi
je 0x56efb6
mov ecx, 4
jmp 0x56efe7
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0056ea20
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x54]
mov ecx, 0x10
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
jmp 0x56f09d
lea eax, [0x68eca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x6b92c0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x56f043
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x56f053
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.0045f670
mov eax, ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x895480]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
inc eax
mov edi, dword [esp + 0x30]
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp eax, ebx
jge 0x56f0e8
movzx edx, byte [ebp + eax]
add edx, 0xffffffd0
cmp dl, 9
ja 0x56f0e4
mov edi, dword [esp + 0x28]
lea edi, [edi + edi*4]
movzx edx, dl
lea edx, [edx + edi*2]
cmp edx, 0xffffff
jl 0x56f088
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov eax, 0xffffff
xor ebp, ebp
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x34]
jmp 0x56f110
mov edx, dword [esp + 0x34]
test eax, eax
jne 0x56f0fa
xor eax, eax
xor ebp, ebp
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
jmp 0x56f110
mov eax, dword [esp + 0x28]
mov ebp, 1
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x3c], ebp
mov ebp, 1
test esi, esi
je 0x56f17b
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x56f17b
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
jne 0x56f17b
test eax, eax
jl 0x56f17b
shl ecx, 3
cmp eax, ecx
jg 0x56f17b
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], esi
cmp ecx, 0x20
je 0x56f14b
cmp ecx, 0x80
je 0x56f14b
xor ecx, ecx
xor eax, eax
jmp 0x56f23a
lea eax, [0x67e920]
mov dword [esp], eax
sar ecx, 3
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
xor ebx, ebx
jmp 0x56f1fc
lea eax, [0x68eca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x6b92c0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x56f1b6
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x56f1c6
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.0045f670
mov eax, ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x895480]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
inc ebx
cmp ebx, ecx
jge 0x56f22e
cmp edx, 8
jb 0x56f20e
mov byte [eax + ebx], 0xff
add edx, 0xfffffff8
jmp 0x56f1fb
mov ebp, ecx
mov ecx, edx
mov esi, 0xffffffff
xchg esi, eax
shr al, cl
xchg esi, eax
xchg esi, ebx
not ebx
xchg esi, ebx
xchg esi, ecx
mov byte [eax + ebx], cl
xchg esi, ecx
mov ecx, ebp
xor edx, edx
jmp 0x56f1fb
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], eax
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.0056d3e0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], edx
lea ebx, [0x68ec40]
mov dword [esp], ebx
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 8], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x56f2a8
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
jmp 0x56f2b1
mov eax, dword [esp + 0x5c]
call fcn.0045f670
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x56f2ce
mov eax, dword [esp + 0x50]
mov dword [edi + 0xc], eax
jmp 0x56f2e0
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0x50]
mov edx, edi
mov edi, ecx
call fcn.0045f670
mov edi, edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x60
ret
call fcn.0045e260
jmp fcn.0056ef30