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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1000d00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1000d6a0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1000d6d0]
cmp eax, dword [ecx + 4]
jle 0x10003b03
push 0x1000d6d0
call fcn.100079e1
add esp, 4
cmp dword [0x1000d6d0], 0xffffffff
jne 0x10003b03
push 0x10008ad0
mov dword [0x1000d6d4], 0x10009834
call fcn.10007dbc
push 0x1000d6d0
call fcn.10007997
add esp, 8
movups xmm0, xmmword [str._Warriors_Destiny]
mov ecx, 0x5ce7dc
mov dword [ebp - 8], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
movups xmmword [ecx], xmm0
movzx eax, word [0x10009b44]
mov word [ecx + 0x10], ax
mov ecx, 0x5be9a4
movups xmm0, xmmword [str._Warriors_Destiny]
push edi
movups xmmword [ecx], xmm0
movzx eax, word [0x10009b44]
mov word [ecx + 0x10], ax
mov ecx, 0x5be9d0
movups xmm0, xmmword [str._Warriors_Destiny]
movups xmmword [ecx], xmm0
movzx eax, word [0x10009b44]
mov word [ecx + 0x10], ax
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x55a0a9
call esi
test eax, eax
je 0x10003b8b
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 0x10003bbc
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 0x10003bed
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 0x10003c21
lea eax, [ebp - 8]
mov dword [0x42979b], 0
push eax
push dword [ebp - 8]
push 4
push 0x42979b
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x465a4d
call esi
test eax, eax
je 0x10003c55
lea eax, [ebp - 8]
mov dword [0x465a4d], 0
push eax
push dword [ebp - 8]
push 4
push 0x465a4d
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x56678c
call esi
test eax, eax
je 0x10003c89
lea eax, [ebp - 8]
mov dword [0x56678c], 0
push eax
push dword [ebp - 8]
push 4
push 0x56678c
call esi
push 0x10009228
push 9
mov dword [ebp - 8], 0
call fcn.10007e05
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 0x10003d1a
mov ecx, 0x100045f0
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 0x10003d1a
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 0x10003d1a
push 9
push 0x41f60b
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 7
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003da5
mov ecx, 0x100044f0
mov byte [eax], 0xe9
sub ecx, 0x423c5e
mov dword [eax + 1], ecx
mov ecx, 0x90909090
mov word [eax + 5], cx
lea eax, [ebp - 8]
push eax
push 0x40
push 7
push 0x423c59
call esi
test eax, eax
je 0x10003da5
mov ecx, dword [ebp - 0xc]
mov edx, 0x423c59
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
mov al, byte [ecx + 6]
mov byte [edx + 6], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 7
push edx
call esi
test eax, eax
je 0x10003da5
push 7
push 0x423c59
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 0xa
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003e30
mov byte [eax], 0xe9
mov ecx, 0x10004520
sub ecx, 0x4222fa
mov dword [eax + 1], ecx
mov dword [eax + 5], 0x90909090
mov byte [eax + 9], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 0xa
push 0x4222f5
call esi
test eax, eax
je 0x10003e30
mov eax, dword [ebp - 0xc]
mov ecx, 0x4222f5
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov ax, word [eax + 8]
mov word [ecx + 8], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 0xa
push ecx
call esi
test eax, eax
je 0x10003e30
push 0xa
push 0x4222f5
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003eb0
mov ecx, 0x100044c0
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 0x10003eb0
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 0x10003eb0
push 6
push 0x41ff86
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003f2e
mov ecx, 0x100044a0
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 0x10003f2e
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 0x10003f2e
push 6
push 0x426dc9
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 5
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003fa8
mov ecx, 0x10004470
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 0x10003fa8
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 0x10003fa8
push 5
push 0x42720d
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 5
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10004022
mov ecx, 0x10004890
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 0x10004022
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 0x10004022
push 5
push 0x465abb
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x100040a2
mov ecx, 0x100043b0
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 0x100040a2
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 0x100040a2
push 6
push 0x4af8af
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10004122
mov ecx, 0x10004370
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 0x10004122
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 0x10004122
push 6
push 0x478c5d
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x100041a0
mov ecx, 0x10004450
mov word [eax], 0x840f
sub ecx, 0x490816
mov dword [eax + 2], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x490810
call esi
test eax, eax
je 0x100041a0
mov ecx, dword [ebp - 0xc]
mov edx, 0x490810
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 0x100041a0
push 6
push 0x490810
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1000421e
mov ecx, 0x10004450
mov word [eax], 0x840f
sub ecx, 0x490826
mov dword [eax + 2], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x490820
call esi
test eax, eax
je 0x1000421e
mov ecx, dword [ebp - 0xc]
mov edx, 0x490820
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 0x1000421e
push 6
push 0x490820
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1000429e
mov ecx, 0x10004340
mov byte [eax], 0xe9
sub ecx, 0x4850ba
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x4850b5
call esi
test eax, eax
je 0x1000429e
mov ecx, dword [ebp - 0xc]
mov edx, 0x4850b5
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 0x1000429e
push 6
push 0x4850b5
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
push 0x10009228
push 6
mov dword [ebp - 8], 0
call fcn.10007e05
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1000431e
mov ecx, 0x10004420
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 0x1000431e
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 0x1000431e
push 6
push 0x451359
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10007e00
add esp, 4
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10007863
mov esp, ebp
pop ebp
ret