Function at 0x10056350
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x1019a06c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0xe60974], 0
push esi
push edi
mov esi, edx
mov edi, ecx
je 0x100566ad
movd xmm0, edi
lea eax, [esi + 0x1e]
cvtdq2pd xmm0, xmm0
mov dword [0xe61e58], edi
mov dword [0xe61e5c], esi
push 0x116
push eax
push edi
push 0
divsd xmm0, qword [0x1018d0d0]
push 0
push 0
push dword [0xe8c578]
cvtpd2ps xmm0, xmm0
movss dword [0xe7c3d4], xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x1018d038]
cvtpd2ps xmm0, xmm0
movss dword [0xe7c3d8], xmm0
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, 0x630bc0
call eax
push 1
mov eax, 0x596ac0
call eax
add esp, 4
mov eax, 0x482b70
call eax
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
mov eax, 0x407b20
call eax
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
mov eax, 0x861110
call eax
mov esi, eax
mov eax, 0x785870
push 0x17e
push 0
push dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push dword [esi]
call eax
mov ecx, dword [esi + 0xb4]
mov eax, 0x830b70
push 1
push 1
push dword [esi]
call eax
mov ecx, dword [esi + 0xe8]
mov eax, 0x853fa0
push 0
push 0x104
push dword [esi]
call eax
mov eax, dword [0x103503d8]
movsd xmm0, qword [0x1018d108]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [0x81c0380], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 8
push 0xd2c848
movsd qword [ebp - 0x14], xmm0
mov dword [ebp - 8], 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x100564ac
mov eax, dword [ebp - 0x14]
mov ecx, 0xd2c848
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + 4], eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 8
push ecx
call esi
test eax, eax
jne 0x100564ae
call edi
movsd xmm0, qword [0x1018d0e8]
lea eax, [ebp - 8]
push eax
push 0x40
push 8
push 0xd2c898
movsd qword [ebp - 0x14], xmm0
mov dword [ebp - 8], 0
call esi
test eax, eax
je 0x100564fc
mov eax, dword [ebp - 0x14]
mov ecx, 0xd2c898
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + 4], eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 8
push ecx
call esi
test eax, eax
jne 0x100564fe
call edi
push 0x100562f0
push 0x772960
push 0xe8
call fcn.100bfb10
push 0x10056310
push 0x7729b3
push 0xe8
call fcn.100bfb10
add esp, 0x18
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x4060d5
call esi
lea eax, [ebp - 8]
mov byte [0x4060d5], 0x90
push eax
push dword [ebp - 8]
push 1
push 0x4060d5
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x4d2887
call esi
lea eax, [ebp - 8]
mov byte [0x4d2887], 0x90
push eax
push dword [ebp - 8]
push 1
push 0x4d2887
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x4d28f0
call esi
lea eax, [ebp - 8]
mov byte [0x4d28f0], 0x90
push eax
push dword [ebp - 8]
push 1
push 0x4d28f0
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x4d295c
call esi
lea eax, [ebp - 8]
mov byte [0x4d295c], 0x90
push eax
push dword [ebp - 8]
push 1
push 0x4d295c
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x4d29c6
call esi
lea eax, [ebp - 8]
mov byte [0x4d29c6], 0x90
push eax
push dword [ebp - 8]
push 1
push 0x4d29c6
call esi
mov eax, 0x51eb851f
mov dword [0x1033c8b0], 0x42f6e9df
imul dword [0xe61e58]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
mov eax, 0x1b4e81b5
cvtdq2ps xmm0, xmm0
movss dword [0x1033c8b4], xmm0
imul dword [0xe61e5c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [0x1024202c], 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1033c8b8], xmm0
jne 0x10056647
call fcn.10038f70
mov eax, dword [0x10242034]
cmp eax, 1
jne 0x10056660
mov ecx, 0x103503dc
call fcn.100531c0
mov eax, dword [0x10242034]
cmp eax, 2
jne 0x1005666a
call fcn.1000dc80
mov eax, dword [0x10242040]
sub eax, 1
je 0x10056680
sub eax, 1
jne 0x10056685
call fcn.100cc0b0
jmp 0x10056685
call fcn.1003b240
mov eax, dword [0x10242048]
cmp eax, 1
jne 0x10056699
call fcn.10039950
mov eax, dword [0x10242048]
cmp eax, 2
jne 0x100566a3
call fcn.100328d0
call fcn.1003d8c0
call fcn.100cbe60
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100e34d0
mov esp, ebp
pop ebp
ret