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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x210
mov esi, esp
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x34], ecx
mov edx, esp
mov dword [esi + 0x1fc], edx
mov dword [esi + 0x208], 0xffffffff
lea edx, [esi + 0x200]
mov dword [esi + 0x204], 0x56dea0
mov ebx, dword fs:[0]
mov dword [esi + 0x200], ebx
mov dword fs:[0], edx
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], eax
mov byte [esi + 0x67], 1
lea edx, [ebp + 0x14]
mov dword [esi + 0x4c], edx
mov dword [esi + 0x50], ecx
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], eax
lea edx, [esi + 0x4c]
mov dword [esi + 0xb0], edx
mov dword [esi + 0xb4], 0x609d80
mov byte [esi + 0xbb], 0xff
mov dword [esi + 0xbc], 0x609bfc
mov edx, edi
shld edx, eax, 7
shr edi, 0x19
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
and dl, 0x7f
mov byte [esi + 0x3b], dl
mov byte [esi + 0xcb], dl
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0xcc], ecx
and eax, ecx
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], 0
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x84]
mov dword [esi + 0xd0], eax
mov ecx, dword [ecx]
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd8], ecx
add ecx, eax
mov dword [esi + 0xdc], ecx
mov dword [esi + 0x208], 0
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0xe0]
mov dword [eax], ecx
call fcn.0056e4c0
jmp 0x56cc14
mov al, byte [esi + 0x3b]
movaps xmm0, xmmword [esi + 0xe0]
movaps xmmword [esi + 0x20], xmm0
movaps xmmword [esi + 0xf0], xmm0
movzx ecx, al
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x100]
mov dword [eax], ecx
call fcn.0056e2a0
jmp 0x56cc40
movaps xmm1, xmmword [esi + 0x20]
movaps xmm0, xmmword [esi + 0x100]
movaps xmmword [esi + 0x120], xmm1
movaps xmmword [esi + 0x130], xmm0
mov eax, esp
lea ecx, [esi + 0x130]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x120]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x110]
mov dword [eax], ecx
call fcn.0056e360
jmp 0x56cc7c
movaps xmm0, xmmword [esi + 0x110]
movaps xmmword [esi + 0x140], xmm0
movaps xmmword [esi + 0x150], xmm0
mov eax, esp
lea ecx, [esi + 0x150]
mov dword [eax], ecx
call fcn.0056e5b0
mov dword [esi + 0x1c], eax
jmp 0x56cca5
mov eax, dword [esi + 0x1c]
mov word [esi + 0x16e], ax
mov word [esi + 0x8e], ax
lea eax, [esi + 0x8e]
mov dword [esi + 0x170], eax
mov ax, word [esi + 0x8e]
mov word [esi + 0x174], ax
mov word [esi + 0xa2], ax
mov eax, 1
xor ecx, ecx
cmp word [esi + 0xa2], 0
cmove eax, ecx
cmp eax, 1
jne 0x56cdaf
mov eax, dword [esi + 0x3c]
movzx ecx, word [esi + 0xa2]
mov dx, cx
mov word [esi + 0x176], dx
tzcnt ecx, ecx
mov dword [esi + 0x178], ecx
mov ecx, dword [esi + 0x178]
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], 1
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x17c], ecx
movzx edx, word [esi + 0x8e]
mov di, dx
mov word [esi + 0x182], di
mov edi, edx
dec edi
and edx, edi
mov word [esi + 0x8e], dx
mov dword [esi + 0x94], ecx
mov dword [esi + 0x90], 1
mov edx, dword [esi + 0x94]
mov dword [esi + 0x184], edx
mov ecx, dword [esi + 0x84]
add ecx, edx
and ecx, eax
mov dword [esi + 0x14], ecx
mov dword [esi + 0x188], ecx
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x4c]
mov dword [eax], ecx
call fcn.0056d670
mov byte [esi + 0x1b], al
jmp 0x56cd92
mov al, byte [esi + 0x1b]
and al, 1
mov byte [esi + 0x18f], al
test byte [esi + 0x18f], 1
jne 0x56ce5f
jmp 0x56ce5a
mov dword [esi + 0x98], 0
mov eax, esp
lea ecx, [esi + 0x190]
mov dword [eax], ecx
mov dword [eax + 4], 0xff
call fcn.0056e2a0
jmp 0x56cdd1
movaps xmm1, xmmword [esi + 0x20]
movaps xmm0, xmmword [esi + 0x190]
movaps xmmword [esi + 0x1b0], xmm1
movaps xmmword [esi + 0x1c0], xmm0
mov eax, esp
lea ecx, [esi + 0x1c0]
mov dword [eax + 8], ecx
lea ecx, [esi + 0x1b0]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x1a0]
mov dword [eax], ecx
call fcn.0056e360
jmp 0x56ce0d
movaps xmm0, xmmword [esi + 0x1a0]
movaps xmmword [esi + 0x1d0], xmm0
movaps xmmword [esi + 0x1e0], xmm0
mov eax, esp
lea ecx, [esi + 0x1e0]
mov dword [eax], ecx
call fcn.0056e5b0
mov dword [esi + 0x10], eax
jmp 0x56ce36
mov eax, dword [esi + 0x10]
mov word [esi + 0x1f4], ax
cmp ax, 0
setne al
and al, 1
mov byte [esi + 0x1f7], al
test byte [esi + 0x1f7], 1
jne 0x56ceb2
jmp 0x56ce71
jmp 0x56ccb6
mov eax, dword [esi + 0x14]
mov dword [esi + 0x80], eax
mov dword [esi + 0x7c], 1
jmp 0x56cebf
mov eax, dword [esi + 0x3c]
lea ecx, [esi + 0x84]
mov dword [esi + 0x1f8], ecx
mov ecx, dword [esi + 0x88]
add ecx, 0x10
mov dword [esi + 0x88], ecx
mov ecx, dword [esi + 0x88]
add ecx, dword [esi + 0x84]
mov dword [esi + 0x84], ecx
and eax, dword [esi + 0x84]
mov dword [esi + 0x84], eax
jmp 0x56cbd1
mov dword [esi + 0x7c], 0
mov dword [esi + 0x80], eax
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x80]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], eax
cmp dword [esi + 0x44], 0
je 0x56ced6
jmp 0x56cedf
mov dword [esi + 0x40], 0
jmp 0x56cf08
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 0x48]
mov dword [esi + 0x68], edx
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
xor ecx, ecx
sub ecx, edx
shl ecx, 4
add eax, ecx
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x78], eax
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x200]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret