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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1000c6e4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1000c718]
cmp eax, dword [ecx + 4]
jle 0x10003b63
push 0x1000c718
call fcn.100069f3
add esp, 4
cmp dword [0x1000c718], 0xffffffff
jne 0x10003b63
push 0x10007aa0
mov dword [0x1000c71c], 0x100087b4
call fcn.10006d5c
push 0x1000c718
call fcn.100069a2
add esp, 8
movq xmm0, qword [str.ACRA_7.54]
mov ecx, 0x5ce7dc
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
movq qword [ecx], xmm0
movzx eax, word [0x100088b0]
mov word [ecx + 8], ax
mov ecx, 0x5be9a4
movq xmm0, qword [str.ACRA_7.54]
push edi
mov dword [ebp - 8], 0
movq qword [ecx], xmm0
movzx eax, word [0x100088b0]
mov word [ecx + 8], ax
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x55a0a9
call esi
test eax, eax
je 0x10003bd5
lea eax, [ebp - 8]
mov byte [0x55a0a9], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x55a0a9
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x55a1d5
call esi
test eax, eax
je 0x10003c06
lea eax, [ebp - 8]
mov byte [0x55a1d5], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x55a1d5
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x559fc1
call esi
test eax, eax
je 0x10003c37
lea eax, [ebp - 8]
mov byte [0x559fc1], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x559fc1
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x42979b
call esi
test eax, eax
je 0x10003c6b
lea eax, [ebp - 8]
mov dword [0x42979b], 0
push eax
push dword [ebp - 8]
push 4
push 0x42979b
call esi
push 0x10008208
push 9
mov dword [ebp - 8], 0
call fcn.10006da5
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
add esp, 8
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003cfc
mov ecx, 0x100041f0
mov byte [eax], 0xe9
sub ecx, 0x41f610
mov dword [eax + 1], ecx
mov dword [eax + 5], 0x90909090
lea eax, [ebp - 8]
push eax
push 0x40
push 9
push 0x41f60b
call esi
test eax, eax
je 0x10003cfc
mov eax, dword [ebp - 0xc]
mov ecx, 0x41f60b
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov al, byte [eax + 8]
mov byte [ecx + 8], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 9
push ecx
call esi
test eax, eax
je 0x10003cfc
push 9
push 0x41f60b
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 6
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003d7c
mov ecx, 0x100041c0
mov byte [eax], 0xe9
sub ecx, 0x41ff8b
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x41ff86
call esi
test eax, eax
je 0x10003d7c
mov ecx, dword [ebp - 0xc]
mov edx, 0x41ff86
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003d7c
push 6
push 0x41ff86
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 6
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003dfa
mov ecx, 0x100041a0
mov word [eax], 0x8d0f
sub ecx, 0x426dcf
mov dword [eax + 2], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x426dc9
call esi
test eax, eax
je 0x10003dfa
mov ecx, dword [ebp - 0xc]
mov edx, 0x426dc9
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003dfa
push 6
push 0x426dc9
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 5
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003e74
mov ecx, 0x10004170
mov byte [eax], 0xe9
sub ecx, 0x427212
mov dword [eax + 1], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x42720d
call esi
test eax, eax
je 0x10003e74
mov ecx, dword [ebp - 0xc]
mov edx, 0x42720d
mov eax, dword [ecx]
mov dword [edx], eax
mov al, byte [ecx + 4]
mov byte [edx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push edx
call esi
test eax, eax
je 0x10003e74
push 5
push 0x42720d
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 5
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003eee
mov ecx, 0x10004490
mov byte [eax], 0xe9
sub ecx, 0x465ac0
mov dword [eax + 1], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x465abb
call esi
test eax, eax
je 0x10003eee
mov ecx, dword [ebp - 0xc]
mov edx, 0x465abb
mov eax, dword [ecx]
mov dword [edx], eax
mov al, byte [ecx + 4]
mov byte [edx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push edx
call esi
test eax, eax
je 0x10003eee
push 5
push 0x465abb
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 6
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003f6e
mov ecx, 0x100040d0
mov byte [eax], 0xe9
sub ecx, 0x4af8b4
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x4af8af
call esi
test eax, eax
je 0x10003f6e
mov ecx, dword [ebp - 0xc]
mov edx, 0x4af8af
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003f6e
push 6
push 0x4af8af
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 6
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003fee
mov ecx, 0x10004090
mov byte [eax], 0xe9
sub ecx, 0x478c62
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x478c5d
call esi
test eax, eax
je 0x10003fee
mov ecx, dword [ebp - 0xc]
mov edx, 0x478c5d
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003fee
push 6
push 0x478c5d
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
push 0x10008208
push 6
mov dword [ebp - 8], 0
call fcn.10006da5
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1000406e
mov ecx, 0x10004140
mov byte [eax], 0xe9
sub ecx, 0x45135e
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x451359
call esi
test eax, eax
je 0x1000406e
mov ecx, dword [ebp - 0xc]
mov edx, 0x451359
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x1000406e
push 6
push 0x451359
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006da0
add esp, 4
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10006933
mov esp, ebp
pop ebp
ret