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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1003f00c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1003fe0f], 0
je 0x1002a976
mov eax, dword [0x1003f028]
mov cl, byte [0x100413e4]
mov byte [eax], cl
cmp byte [0x10041172], 0
je 0x1002a98c
mov eax, dword [0x1003f02c]
mov cl, byte [0x100413dc]
mov byte [eax], cl
cmp byte [0x10041173], 0
je 0x1002a9b4
mov eax, dword [0x1003f064]
movzx ecx, word [0x100413ec]
mov word [eax], cx
mov eax, dword [0x1003f060]
mov word [eax], cx
mov eax, dword [0x1003f05c]
mov word [eax], cx
cmp byte [0x100413f6], 0
je 0x1002a9ca
mov eax, dword [0x1003f048]
mov cl, byte [0x100413f0]
mov byte [eax], cl
cmp byte [0x100413eb], 0
je 0x1002a9e0
mov eax, dword [0x1003f054]
mov cl, byte [0x1004140c]
mov byte [eax], cl
cmp byte [0x100413f5], 0
je 0x1002a9f6
mov eax, dword [0x1003f04c]
mov cl, byte [0x10041418]
mov byte [eax], cl
mov ecx, dword [0x10041410]
test ecx, ecx
je 0x1002aa07
mov eax, dword [0x1003f034]
mov byte [eax], cl
cmp byte [0x10041406], 0
je 0x1002aa1d
mov eax, dword [0x1003f03c]
mov cl, byte [0x10041408]
mov byte [eax], cl
cmp byte [0x10041404], 0
je 0x1002aa33
mov eax, dword [0x1003f044]
mov cl, byte [0x100413f8]
mov byte [eax], cl
cmp byte [0x10041405], 0
je 0x1002aa49
mov eax, dword [0x1003f040]
mov cl, byte [0x10041414]
mov byte [eax], cl
cmp byte [0x100413f7], 0
je 0x1002aa5f
mov eax, dword [0x1003f050]
mov cl, byte [0x1004141c]
mov byte [eax], cl
cmp byte [0x100413f4], 0
je 0x1002aa75
mov eax, dword [0x1003f038]
mov cl, byte [0x10041400]
mov byte [eax], cl
cmp byte [0x10041420], 0
je 0x1002aa8b
mov eax, dword [0x1003f058]
mov cl, byte [0x100413fc]
mov byte [eax], cl
cmp byte [0x100413e9], 0
je 0x1002aaa8
movd xmm0, dword [0x1003f070]
mov eax, dword [0x1003f030]
cvtdq2ps xmm0, xmm0
movss dword [eax], xmm0
cmp byte [0x1003f076], 0
mov edx, 0x1003a670
mov eax, dword [0x1003f07c]
sete cl
sub esp, 8
mov byte [eax], cl
mov eax, dword [0x10041178]
push 5
mov ecx, dword [eax + 1]
add ecx, 0x9d9d0
cmp byte [0x1003f074], 0
jne 0x1002aadf
mov edx, 0x1003a678
call fcn.10005fc0
add esp, 0xc
cmp byte [0x100413e8], 0
je 0x1002ab3d
mov eax, dword [0x100413d8]
test eax, eax
jne 0x1002ab23
mov eax, dword [0x1003f068]
sub esp, 8
mov edx, 0x1003b300
mov ecx, 0x53e227
push 1
mov word [eax + 0x142c], 0x101
call fcn.10005fc0
mov eax, dword [0x100413d8]
add esp, 0xc
cmp eax, 1
jne 0x1002ab62
mov eax, dword [0x1003f068]
mov edx, 0x1003b298
mov word [eax + 0x142c], 0
jmp 0x1002ab50
mov eax, dword [0x1003f068]
mov edx, 0x1003b300
mov word [eax + 0x142c], 0x101
sub esp, 8
mov ecx, 0x53e227
push 1
call fcn.10005fc0
add esp, 0xc
cmp byte [0x100413ea], 0
je 0x1002ac02
mov eax, dword [0x100413e0]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1002ab9d
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x5b8e6a
call esi
mov eax, dword [0x100413e0]
mov dword [0x5b8e6a], 0x40000000
cmp eax, 1
jne 0x1002abc0
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x5b8e6a
call esi
mov eax, dword [0x100413e0]
mov dword [0x5b8e6a], 0x80000000
cmp eax, 2
jne 0x1002abe3
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x5b8e6a
call esi
mov eax, dword [0x100413e0]
mov dword [0x5b8e6a], 0xc0000001
cmp eax, 3
jne 0x1002ac01
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x5b8e6a
call esi
mov dword [0x5b8e6a], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10031912
mov esp, ebp
pop ebp
ret