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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x1018b06c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0xe60974], 0
push esi
push edi
mov esi, edx
mov edi, ecx
je 0x100493fd
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 [0x1017e948]
push 0
push 0
push dword [0xe8c578]
cvtpd2ps xmm0, xmm0
movss dword [0xe7c3d4], xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x1017e8c0]
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 [0x1033a6b4]
movsd xmm0, qword [0x1017e978]
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 0x100491fc
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 0x100491fe
call edi
movsd xmm0, qword [0x1017e960]
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 0x1004924c
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 0x1004924e
call edi
push 0x10049040
push 0x772960
push 0xe8
call fcn.100b1680
push 0x10049060
push 0x7729b3
push 0xe8
call fcn.100b1680
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 [0x103297e8], 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 [0x103297ec], xmm0
imul dword [0xe61e5c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [0x101ee978], 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x103297f0], xmm0
jne 0x10049397
call fcn.1002e0e0
mov eax, dword [0x101ee980]
cmp eax, 1
jne 0x100493b0
mov ecx, 0x1033d310
call fcn.10045f10
mov eax, dword [0x101ee980]
cmp eax, 2
jne 0x100493ba
call fcn.1000bcc0
mov eax, dword [0x101ee98c]
sub eax, 1
je 0x100493d0
sub eax, 1
jne 0x100493d5
call fcn.100bdc60
jmp 0x100493d5
call fcn.100300d0
mov eax, dword [0x101ee994]
cmp eax, 1
jne 0x100493e9
call fcn.1002eac0
mov eax, dword [0x101ee994]
cmp eax, 2
jne 0x100493f3
call fcn.10027eb0
call fcn.100313d0
call fcn.100bda10
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100d52b0
mov esp, ebp
pop ebp
ret