Function at 0x42d570
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rbp, rsp
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rdx
mov dword [rbp + 0x3c], r8d
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x60], 0
nop
mov eax, dword [rbp + 0x3c]
cmp eax, 4
jge 0x42d5ad
mov eax, 4
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
test al, 1
je 0x42d5c6
mov eax, dword [rbp + 0x3c]
add eax, 2
add eax, eax
add eax, eax
add eax, eax
mov dword [rbp + 0x4c], eax
jmp 0x42d5d5
mov eax, dword [rbp + 0x3c]
add eax, 3
add eax, eax
add eax, eax
add eax, eax
mov dword [rbp + 0x4c], eax
lea rcx, [rbp + 0x68]
lea rdx, [0x0042d854]
call fcn.00410b40
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
mov dword [rax + 3], ecx
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
sub ecx, 8
mov dword [rax + 0xb], ecx
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
add ecx, 8
mov dword [rax + 0x13], ecx
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
add ecx, 0x10
mov dword [rax + 0x20], ecx
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
add ecx, 0x18
mov dword [rax + 0x2d], ecx
mov rcx, qword [rbp + 0x68]
call fcn.00410b90
mov ebx, eax
add ebx, 1
mov rcx, qword [rbp + 0x68]
call fcn.00410b90
lea rcx, [rbp + 0x68]
mov edx, dword [rbp + 0x3c]
sub edx, 4
shl edx, 4
add eax, edx
mov edx, eax
xor r8, r8
call fcn.00411810
lea rcx, [rbp + 0x60]
lea rdx, [0x0042d8b4]
call fcn.00410b40
mov esi, 1
mov edi, dword [rbp + 0x3c]
sub edi, 4
cmp esi, edi
jg 0x42d708
add edi, 1
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov ecx, esi
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov edx, dword [rbp + 0x4c]
add ecx, edx
add ecx, 0x20
mov dword [rax + 4], ecx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov ecx, esi
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, 0x20
mov dword [rax + 0xc], ecx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov r13, rax
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov r14, rax
mov rcx, qword [rbp + 0x60]
call fcn.00410b90
mov rcx, r13
movsxd rdx, ebx
lea rdx, [r14 + rdx - 1]
movsxd r8, eax
call fcn.00408e20
mov rcx, qword [rbp + 0x60]
call fcn.00410b90
add ebx, eax
add esi, 1
cmp esi, edi
jne 0x42d68f
nop
lea rcx, [rbp + 0x60]
lea rdx, [0x0042d8d4]
call fcn.00410b40
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
sub ecx, 8
mov dword [rax + 4], ecx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov rcx, qword [rbp + 0x30]
mov qword [rax + 0xa], rcx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
sub ecx, 8
mov dword [rax + 0x16], ecx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov rcx, qword [rbp + 0x28]
mov qword [rax + 0x1c], rcx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
sub ecx, 8
mov dword [rax + 0x2b], ecx
lea rcx, [rbp + 0x60]
call fcn.00410cb0
mov ecx, dword [rbp + 0x4c]
mov dword [rax + 0x32], ecx
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
call fcn.004110e0
mov rcx, qword [rbp + 0x68]
call fcn.00410b90
xor rcx, rcx
movsxd rdx, eax
mov r8d, 0x1000
mov r9d, 0x40
call sub.kernel32.dll_VirtualAlloc
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x68]
call fcn.00410cb0
mov rbx, rax
mov rcx, qword [rbp + 0x68]
call fcn.00410b90
mov rcx, rbx
mov rdx, qword [rbp + 0x40]
movsxd r8, eax
call fcn.00408e20
mov rcx, qword [rbp + 0x68]
call fcn.00410b90
xor rcx, rcx
movsxd rdx, eax
mov r8d, 0x20
lea r9, [rbp + 0x5c]
call sub.kernel32.dll_VirtualProtect
nop
lea rcx, [rbp + 0x60]
mov edx, 2
call fcn.00410470
mov rax, qword [rbp + 0x40]
lea rsp, [rbp + 0x78]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret