Function at 0x10041280
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x2f0
mov byte [ebp + 0x6f], 0
cmp dword [0x100e0d44], 0
je 0x100412ae
cmp dword [0x100e0d48], 0
je 0x100412ae
cmp dword [0x100e0d4c], 0
jne 0x100413a5
push str.ntdll.dll
call fcn.10040b00
add esp, 4
mov dword [ebp + 0x60], eax
push 0
push 0x40
lea eax, [ebp + 0x10]
push eax
push 0x1007ccd8
call fcn.1004ae20
push eax
mov ecx, dword [ebp + 0x60]
push ecx
call fcn.1004b220
mov dword [0x100e0d44], eax
push 0
push 0x40
lea edx, [ebp + 0x10]
push edx
push 0x1007cd10
call fcn.1004ae20
push eax
mov eax, dword [ebp + 0x60]
push eax
call fcn.1004b220
mov dword [0x100e0d48], eax
push 0
push 0x40
lea ecx, [ebp + 0x10]
push ecx
push 0x1007cccc
call fcn.1004ae20
push eax
mov edx, dword [ebp + 0x60]
push edx
call fcn.1004b220
mov dword [0x100e0d4c], eax
push 0
push 0x40
lea eax, [ebp + 0x10]
push eax
push 0x1007cce4
call fcn.1004ae20
push eax
mov ecx, dword [ebp + 0x60]
push ecx
call fcn.1004b220
mov dword [0x100e0d50], eax
push 0
push 0x40
lea edx, [ebp + 0x10]
push edx
push 0x1007ccfc
call fcn.1004ae20
push eax
mov eax, dword [ebp + 0x60]
push eax
call fcn.1004b220
mov dword [0x100e0d54], eax
push 0
push 0x40
lea ecx, [ebp + 0x10]
push ecx
push 0x1007cd3c
call fcn.1004ae20
push eax
mov edx, dword [ebp + 0x60]
push edx
call fcn.1004b220
mov dword [0x100e0d58], eax
push 0
push 0x40
lea eax, [ebp + 0x10]
push eax
push 0x1007cd28
call fcn.1004ae20
push eax
mov ecx, dword [ebp + 0x60]
push ecx
call fcn.1004b220
mov dword [0x100e0d5c], eax
cmp dword [0x100e0d44], 0
je 0x10041691
cmp dword [0x100e0d48], 0
je 0x10041691
cmp dword [0x100e0d4c], 0
je 0x10041691
mov edx, dword [ebp + 0x78]
push edx
push 0x4c3
call fcn.1003cb10
mov dword [ebp + 0x68], eax
cmp dword [ebp + 0x68], 0
je 0x10041691
mov eax, 0xb848
mov word [ebp - 0x280], ax
mov eax, dword [0x100e0d44]
cdq
mov dword [ebp - 0x27e], eax
mov dword [ebp - 0x27a], edx
mov byte [ebp - 0x276], 0x50
mov byte [ebp - 0x275], 0x51
mov byte [ebp - 0x274], 0x52
mov ecx, 0x5041
mov word [ebp - 0x273], cx
mov edx, 0x5141
mov word [ebp - 0x271], dx
mov dword [ebp - 0x26f], 0x28ec8348
mov eax, 0xb948
mov word [ebp - 0x26b], ax
mov eax, dword [ebp + 0x68]
cdq
mov dword [ebp - 0x269], eax
mov dword [ebp - 0x265], edx
mov ecx, 0xba48
mov word [ebp - 0x261], cx
mov eax, dword [ebp + 0x68]
add eax, 0x28c
cdq
mov dword [ebp - 0x25f], eax
mov dword [ebp - 0x25b], edx
mov edx, 0xe2ff
mov word [ebp - 0x257], dx
mov dword [ebp - 0x255], 0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x251], xmm0
mov eax, dword [ebp - 0x27e]
mov dword [ebp - 0x249], eax
mov ecx, dword [ebp - 0x27a]
mov dword [ebp - 0x245], ecx
mov edx, dword [ebp + 0x7c]
push edx
call fcn.10055cec
add esp, 4
movzx eax, ax
shl eax, 1
mov word [ebp - 0x23c], ax
movzx ecx, word [ebp - 0x23c]
add ecx, 2
mov word [ebp - 0x23a], cx
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp + 0x68]
lea eax, [ecx + eax + 0x54]
cdq
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
mov edx, dword [ebp + 0x7c]
push edx
lea eax, [ebp - 0x22c]
push eax
call fcn.1005618d
add esp, 8
mov eax, dword [0x100e0d48]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov eax, dword [0x100e0d4c]
cdq
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov eax, dword [0x100e0d50]
cdq
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
mov eax, dword [0x100e0d54]
cdq
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov eax, dword [0x100e0d58]
cdq
mov dword [ebp - 4], eax
mov dword [ebp], edx
mov eax, dword [0x100e0d5c]
cdq
mov dword [ebp + 4], eax
mov dword [ebp + 8], edx
lea ecx, [ebp + 0x64]
push ecx
push 0x28d
lea edx, [ebp - 0x280]
push edx
mov eax, dword [ebp + 0x68]
push eax
mov ecx, dword [ebp + 0x78]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x10041678
cmp dword [ebp + 0x64], 0x28d
jne 0x10041678
lea edx, [ebp + 0x64]
push edx
push 0x236
push 0x1007cf50
mov eax, dword [ebp + 0x68]
add eax, 0x28c
push eax
mov ecx, dword [ebp + 0x78]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x10041678
cmp dword [ebp + 0x64], 0x236
jne 0x10041678
lea edx, [ebp + 0x64]
push edx
push 5
lea eax, [ebp + 0x58]
push eax
mov ecx, dword [ebp - 0x249]
push ecx
mov edx, dword [ebp + 0x78]
push edx
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x10041678
cmp dword [ebp + 0x64], 5
jne 0x10041678
lea eax, [ebp + 0x64]
push eax
push 5
lea ecx, [ebp + 0x58]
push ecx
mov edx, dword [ebp + 0x68]
add edx, 0x3f
push edx
mov eax, dword [ebp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x10041678
cmp dword [ebp + 0x64], 5
jne 0x10041678
lea ecx, [ebp + 0x54]
push ecx
push 0x40
push 5
mov edx, dword [ebp - 0x249]
push edx
mov eax, dword [ebp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x10041678
mov byte [ebp + 0x58], 0xe9
mov ecx, dword [ebp + 0x68]
sub ecx, dword [ebp - 0x249]
sub ecx, 5
mov dword [ebp + 0x59], ecx
lea edx, [ebp + 0x64]
push edx
push 5
lea eax, [ebp + 0x58]
push eax
mov ecx, dword [ebp - 0x249]
push ecx
mov edx, dword [ebp + 0x78]
push edx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea eax, [ebp + 0x54]
push eax
mov ecx, dword [ebp + 0x54]
push ecx
push 5
mov edx, dword [ebp - 0x249]
push edx
mov eax, dword [ebp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov byte [ebp + 0x6f], 1
lea ecx, [ebp + 0x50]
push ecx
push 0x20
push 0x4c3
mov edx, dword [ebp + 0x68]
push edx
mov eax, dword [ebp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov al, byte [ebp + 0x6f]
add ebp, 0x70
mov esp, ebp
pop ebp
ret