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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x1401400f0]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov esi, r8d
mov r14, rdx
mov r12, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
lea rdx, [rbp + 0x168]
movabs rcx, 0x7a6db90d88785107
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rdx
mov r15, qword [rdx]
xor r15, rcx
mov qword [rbp + 0x48], r15
lea rax, [r14 + 0x5b8]
mov qword [rsp + 0x20], rax
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x30], rcx
mov qword [rdx], rax
xor ecx, ecx
lea edi, [rax + 3]
lea rbx, [0x1400cadf0]
lea r13, [0x140000000]
mov rax, qword [0x1401907f0]
test rax, rax
je 0x14004273e
xor edx, edx
cmp rax, rbx
je 0x14004272d
inc ecx
mov edx, ecx
mov rax, qword [r13 + rcx*8 + 0x1907f0]
test rax, rax
jne 0x140042715
jmp 0x14004273e
mov r8, qword [r13 + rdx*8 + 0x191160]
test r8, r8
jne 0x14004281f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x1400427fe
mov rax, rbx
mov rcx, r8
mov rdx, rdi
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140042770
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140190e30]
mov qword [r13 + rax*8 + 0x1907f0], rbx
mov qword [r13 + rax*8 + 0x191160], r8
inc rax
mov qword [0x140190e30], rax
lea rdx, [rsp + 0x20]
lea rcx, [fcn.1400cad40]
call r8
mov rdx, rax
movabs r8, 0x7a6db90d88785107
mov rbx, r8
xor rbx, r8
test rax, rax
jne 0x1400429c5
lea rax, [r14 + 0x5c8]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x38], r8
lea rax, [rbp + 0x168]
mov qword [rbp + 0x40], rax
xor rbx, r8
mov qword [rbp + 0x30], rbx
mov qword [rax], rdx
xor ecx, ecx
mov rax, qword [0x1401907f0]
test rax, rax
je 0x1400428b9
lea r8, [0x1400cadf0]
nop dword [rax + rax]
cmp rax, r8
je 0x1400428a8
inc ecx
mov edx, ecx
mov rax, qword [r13 + rcx*8 + 0x1907f0]
test rax, rax
jne 0x140042890
jmp 0x1400428b9
mov r8, qword [r13 + rdx*8 + 0x191160]
test r8, r8
jne 0x1400429a6
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x14004297e
lea rax, [0x1400cadf0]
mov rcx, r8
mov rdx, rdi
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400428f0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140190e30]
lea rcx, [0x1400cadf0]
mov qword [r13 + rax*8 + 0x1907f0], rcx
mov qword [r13 + rax*8 + 0x191160], r8
inc rax
mov qword [0x140190e30], rax
lea rdx, [rsp + 0x20]
lea rcx, [fcn.1400cad40]
call r8
mov rdx, rax
movabs r8, 0x7a6db90d88785107
xor rbx, r8
lea eax, [rsi + rsi*2]
shl eax, 5
movsxd rcx, eax
add rcx, rdx
mov qword [rsp + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x38], r8
lea rax, [rbp + 0x168]
mov qword [rbp + 0x40], rax
xor rbx, r8
mov qword [rbp + 0x30], rbx
mov qword [rax], 0
xor ecx, ecx
lea rsi, [0x1400cb1c0]
mov rax, qword [0x1401949e0]
test rax, rax
je 0x140042a3a
xor edx, edx
cmp rax, rsi
je 0x140042a29
inc ecx
mov edx, ecx
mov rax, qword [r13 + rcx*8 + 0x1949e0]
test rax, rax
jne 0x140042a11
jmp 0x140042a3a
mov r9, qword [r13 + rdx*8 + 0x197c90]
test r9, r9
jne 0x140042b1f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
je 0x140042afe
mov rax, rsi
mov rcx, r9
mov rdx, rdi
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140042a70
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140195340]
mov qword [r13 + rax*8 + 0x1949e0], rsi
mov qword [r13 + rax*8 + 0x197c90], r9
inc rax
mov qword [0x140195340], rax
lea r8, [rsp + 0x20]
lea rdx, [0x1400cb0b0]
lea rcx, [rbp + 0xc0]
call r9
nop
lea rax, [r14 + 0x1c0]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
movabs rax, 0x7a6db90d88785107
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x168]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x30], rbx
mov qword [rax], 0
xor ecx, ecx
mov rax, qword [0x1401949e0]
test rax, rax
je 0x140042ba9
xor edx, edx
nop dword [rax]
cmp rax, rsi
je 0x140042b98
inc ecx
mov edx, ecx
mov rax, qword [r13 + rcx*8 + 0x1949e0]
test rax, rax
jne 0x140042b80
jmp 0x140042ba9
mov r9, qword [r13 + rdx*8 + 0x197c90]
test r9, r9
jne 0x140042c8f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
je 0x140042c6e
mov rax, rsi
mov rcx, r9
mov rdx, rdi
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140042be0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140195340]
mov qword [r13 + rax*8 + 0x1949e0], rsi
mov qword [r13 + rax*8 + 0x197c90], r9
inc rax
mov qword [0x140195340], rax
lea r8, [rsp + 0x20]
lea rdx, [0x1400cb0b0]
lea rcx, [rbp + 0x60]
call r9
nop
movabs r8, 0x7a6db90d88785107
xor rbx, r8
lea r9, [rbp + 0x168]
mov qword [r9], rbx
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.140040d20
mov rsi, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140040d20
mov r14, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x40], r9
xor rbx, r8
mov qword [rbp + 0x30], rbx
mov qword [r9], rax
xor ecx, ecx
lea rbx, [0x1400cb250]
mov rax, qword [0x14018c280]
test rax, rax
je 0x140042d39
xor edx, edx
cmp rax, rbx
je 0x140042d28
inc ecx
mov edx, ecx
mov rax, qword [r13 + rcx*8 + 0x18c280]
test rax, rax
jne 0x140042d10
jmp 0x140042d39
mov r10, qword [r13 + rdx*8 + 0x19b520]
test r10, r10
jne 0x140042e11
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
je 0x140042df0
mov rax, rbx
mov rcx, r10
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdi, 1
jne 0x140042d62
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140196cb0]
mov qword [r13 + rax*8 + 0x18c280], rbx
mov qword [r13 + rax*8 + 0x19b520], r10
inc rax
mov qword [0x140196cb0], rax
mov r9, rsi
mov r8, r14
lea rdx, [0x140040f40]
lea rcx, [rbp - 0x10]
call r10
movups xmm4, xmmword [rax + 0x30]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movaps xmm1, xmm4
shufps xmm1, xmm4, 0x55
xorps xmm2, xmm2
cvtss2sd xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm4
movsd qword [r12], xmm0
movsd qword [r12 + 8], xmm2
movsd qword [r12 + 0x10], xmm3
movabs rax, 0x7a6db90d88785107
xor r15, rax
lea rax, [rbp + 0x168]
mov qword [rax], r15
mov rax, r12
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1401185a0
mov rbx, qword [rsp + 0x288]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret