Function at 0x10013bd0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
cmp dword [0x100218c4], 0
jne 0x10013bee
mov eax, dword [ebp - 4]
jmp 0x10013f67
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.1000bfa0
add esp, 4
test eax, eax
jne 0x10013c09
mov eax, dword [ebp - 4]
jmp 0x10013f67
mov dword [ebp - 8], 0
mov dword [ebp - 0x30], 0
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x1c
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x30]
push edx
mov eax, dword [0x100218c4]
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x10013c5a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
cmp dword [0x10021378], 0x2800
je 0x10013c8a
cmp dword [0x10021378], 0x295a
je 0x10013c8a
cmp dword [0x10021378], 0x3839
je 0x10013c8a
cmp dword [0x10021378], 0x3ad7
jne 0x10013cbb
lea ecx, [ebp - 0xc]
push ecx
push 4
push 0xf0
mov edx, dword [0x100218c4]
push edx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x10013cb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
jmp 0x10013f67
jmp 0x10013cea
lea eax, [ebp - 0xc]
push eax
push 0x40
push 0xf0
mov ecx, dword [0x100218c4]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x10013cea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
jmp 0x10013f67
mov edx, 4
imul eax, edx, 0x1f
mov ecx, dword [0x100218c4]
mov edx, dword [ecx + eax]
mov dword [0x100218e0], edx
mov eax, 4
imul ecx, eax, 0x13
mov edx, dword [0x100218c4]
mov eax, dword [edx + ecx]
mov dword [0x100218d4], eax
mov ecx, 4
imul edx, ecx, 0x1c
mov eax, dword [0x100218c4]
mov ecx, dword [eax + edx]
mov dword [0x100218d8], ecx
mov edx, 4
shl edx, 4
mov eax, dword [0x100218c4]
mov ecx, dword [eax + edx]
mov dword [0x100218dc], ecx
mov edx, 4
imul eax, edx, 0x18
mov ecx, dword [0x100218c4]
mov edx, dword [ecx + eax]
mov dword [0x100218c8], edx
mov eax, 4
imul ecx, eax, 0xc
mov edx, dword [0x100218c4]
mov eax, dword [edx + ecx]
mov dword [0x100218d0], eax
mov ecx, 4
imul edx, ecx, 0xb
mov eax, dword [0x100218c4]
mov ecx, dword [eax + edx]
mov dword [0x100218cc], ecx
mov edx, 4
imul eax, edx, 0x17
mov ecx, dword [0x100218c4]
mov edx, dword [ecx + eax]
mov dword [0x100218e4], edx
mov eax, 4
imul ecx, eax, 0x1f
mov edx, dword [0x100218c4]
mov dword [edx + ecx], 0x10013040
mov eax, 4
imul ecx, eax, 0x13
mov edx, dword [0x100218c4]
mov dword [edx + ecx], 0x10013290
mov eax, 4
imul ecx, eax, 0xc
mov edx, dword [0x100218c4]
mov dword [edx + ecx], 0x10012d20
mov eax, 4
shl eax, 4
mov ecx, dword [0x100218c4]
mov dword [ecx + eax], 0x10012660
mov edx, 4
imul eax, edx, 0x18
mov ecx, dword [0x100218c4]
mov dword [ecx + eax], 0x10012980
mov edx, 4
imul eax, edx, 0x1c
mov ecx, dword [0x100218c4]
mov dword [ecx + eax], 0x10012300
mov edx, 4
imul eax, edx, 0xb
mov ecx, dword [0x100218c4]
mov dword [ecx + eax], 0x10011b80
mov edx, 4
imul eax, edx, 0x17
mov ecx, dword [0x100218c4]
mov dword [ecx + eax], 0x10011f40
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp - 0xc]
push eax
push 0xf0
mov ecx, dword [0x100218c4]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x10013f4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [0x100218c4]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x10013e9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov edx, 4
imul eax, edx, 0x1f
mov ecx, dword [0x100218c4]
mov edx, dword [0x100218e0]
mov dword [ecx + eax], edx
mov eax, 4
imul ecx, eax, 0x13
mov edx, dword [0x100218c4]
mov eax, dword [0x100218d4]
mov dword [edx + ecx], eax
mov ecx, 4
imul edx, ecx, 0xc
mov eax, dword [0x100218c4]
mov ecx, dword [0x100218d0]
mov dword [eax + edx], ecx
mov edx, 4
shl edx, 4
mov eax, dword [0x100218c4]
mov ecx, dword [0x100218dc]
mov dword [eax + edx], ecx
mov edx, 4
imul eax, edx, 0x18
mov ecx, dword [0x100218c4]
mov edx, dword [0x100218c8]
mov dword [ecx + eax], edx
mov eax, 4
imul ecx, eax, 0x1c
mov edx, dword [0x100218c4]
mov eax, dword [0x100218d8]
mov dword [edx + ecx], eax
mov ecx, 4
imul edx, ecx, 0xb
mov eax, dword [0x100218c4]
mov ecx, dword [0x100218cc]
mov dword [eax + edx], ecx
mov edx, 4
imul eax, edx, 0x17
mov ecx, dword [0x100218c4]
mov edx, dword [0x100218e4]
mov dword [ecx + eax], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.1000bf30
add esp, 4
mov dword [ebp - 4], 1
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret