Function at 0x4017c0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [0x41b4a4], 1
mov eax, dword [0x41d4d4]
mov dword [ebp - 4], eax
push 0x40
push 0x3000
mov ecx, dword [0x41b4ac]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [0x41d3fc], eax
cmp dword [0x41d3fc], 0
jne 0x401807
xor eax, eax
jmp 0x401a54
mov dword [ebp - 0xc], 0
jmp 0x401819
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [0x41d3f0]
jae 0x401855
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x41b4b0]
add eax, dword [0x41d3fc]
mov dword [ebp - 8], eax
push 4
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
add eax, dword [edx*4 + 0x41c450]
push eax
call fcn.00409f00
add esp, 0xc
jmp 0x401810
push 0
mov ecx, dword [0x41b4ac]
push ecx
mov edx, dword [0x41d4d4]
push edx
mov eax, dword [0x41d3fc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x401898
push 0x8000
push 0
mov edx, dword [0x41d3fc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor eax, eax
jmp 0x401a54
mov ecx, dword [0x41d484]
add ecx, dword [0x41d3fc]
sub ecx, dword [0x41d4d4]
mov dword [0x41d4cc], ecx
mov edx, dword [0x41d478]
add edx, dword [0x41d3fc]
sub edx, dword [0x41d4d4]
mov dword [0x41d4c0], edx
mov eax, dword [0x41d480]
add eax, dword [0x41d3fc]
sub eax, dword [0x41d4d4]
mov dword [0x41d4c8], eax
mov ecx, dword [0x41d474]
add ecx, dword [0x41d3fc]
sub ecx, dword [0x41d4d4]
mov dword [0x41d4bc], ecx
mov edx, dword [0x41d47c]
add edx, dword [0x41d3fc]
sub edx, dword [0x41d4d4]
mov dword [0x41d4c4], edx
mov eax, dword [0x41d470]
add eax, dword [0x41d3fc]
sub eax, dword [0x41d4d4]
mov dword [0x41d4b8], eax
mov ecx, dword [0x41d464]
add ecx, dword [0x41d3fc]
sub ecx, dword [0x41d4d4]
mov dword [0x41d4ac], ecx
mov edx, dword [0x41d460]
add edx, dword [0x41d3fc]
sub edx, dword [0x41d4d4]
mov dword [0x41d4a8], edx
mov eax, dword [0x41d468]
add eax, dword [0x41d3fc]
sub eax, dword [0x41d4d4]
mov dword [0x41d4b0], eax
mov ecx, dword [0x41d450]
add ecx, dword [0x41d3fc]
sub ecx, dword [0x41d4d4]
mov dword [0x41d498], ecx
mov edx, dword [0x41d454]
add edx, dword [0x41d3fc]
sub edx, dword [0x41d4d4]
mov dword [0x41d49c], edx
mov eax, dword [0x41d46c]
add eax, dword [0x41d3fc]
sub eax, dword [0x41d4d4]
mov dword [0x41d4b4], eax
mov ecx, dword [0x41d45c]
add ecx, dword [0x41d3fc]
sub ecx, dword [0x41d4d4]
mov dword [0x41d4a4], ecx
mov edx, dword [0x41d458]
add edx, dword [0x41d3fc]
sub edx, dword [0x41d4d4]
mov dword [0x41d4a0], edx
cmp dword [0x41d4e4], 0
je 0x401a45
mov eax, dword [0x41d44c]
add eax, dword [0x41d3fc]
sub eax, dword [0x41d4d4]
mov dword [0x41d494], eax
mov ecx, dword [0x41d448]
add ecx, dword [0x41d3fc]
sub ecx, dword [0x41d4d4]
mov dword [0x41d490], ecx
mov edx, dword [0x41d444]
add edx, dword [0x41d3fc]
sub edx, dword [0x41d4d4]
mov dword [0x41d48c], edx
mov eax, dword [0x41d440]
add eax, dword [0x41d3fc]
sub eax, dword [0x41d4d4]
mov dword [0x41d488], eax
mov dword [0x41b4a8], 1
mov eax, 1
mov esp, ebp
pop ebp
ret