Function at 0x140016650
Capabilities:
Query environment variable
Resume thread
Terminate process

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
mov rbx, r9
mov rsi, r8
mov r14d, edx
mov r15d, ecx
mov qword [rsp + 0x58], 0
lea rcx, [0x140036d18]
lea rdi, [rsp + 0xf0]
mov rdx, rdi
mov r8d, 0x104
call sub.KERNEL32.dll_GetEnvironmentVariableA
mov ebp, eax
lea eax, [r14 - 0x1001]
cmp eax, 0xffffefff
ja 0x1400166b2
mov ecx, 0x57
call sub.KERNEL32.dll_SetLastError
xor esi, esi
jmp 0x14001688b
lea rcx, [rsp + 0x58]
mov edx, r15d
mov r8d, r14d
mov r9, rsi
call fcn.140016a20
xor esi, esi
test eax, eax
je 0x14001688b
add ebp, 0xfffffefc
cmp ebp, 0xfffffefd
jb 0x14001688b
mov rcx, 0xfffffffffffffefc
mov eax, 0x100
nop dword [rax]
cmp byte [rsp + rcx + 0x1f4], 0
je 0x140016731
cmp byte [rsp + rcx + 0x1f5], 0
je 0x140016739
cmp byte [rsp + rcx + 0x1f6], 0
je 0x14001673f
cmp byte [rsp + rcx + 0x1f7], 0
je 0x140016745
cmp byte [rsp + rcx + 0x1f8], 0
je 0x140016748
add rax, 0xfffffffffffffffb
add rcx, 5
jne 0x1400166f0
jmp 0x14001688b
neg rcx
mov rax, rcx
jmp 0x140016748
add rax, 3
jmp 0x140016748
add rax, 2
jmp 0x140016748
inc rax
sub rdi, rax
mov byte [rdi + 0x104], 0x5c
add rdi, 0x105
cmp rax, 1
je 0x140016887
mov byte [rdi], 0x73
inc rdi
cmp rax, 2
je 0x140016887
mov byte [rdi], 0x79
inc rdi
cmp rax, 3
je 0x140016887
mov byte [rdi], 0x73
inc rdi
cmp rax, 4
je 0x140016887
mov byte [rdi], 0x77
inc rdi
cmp rax, 5
je 0x140016887
mov byte [rdi], 0x6f
inc rdi
cmp rax, 6
je 0x140016887
mov byte [rdi], 0x77
inc rdi
cmp rax, 7
je 0x140016887
mov byte [rdi], 0x36
inc rdi
cmp rax, 8
je 0x140016887
mov byte [rdi], 0x34
inc rdi
cmp rax, 9
je 0x140016887
mov byte [rdi], 0x5c
inc rdi
cmp rax, 0xa
je 0x140016887
mov byte [rdi], 0x72
inc rdi
cmp rax, 0xb
je 0x140016887
mov byte [rdi], 0x75
inc rdi
cmp rax, 0xc
je 0x140016887
mov byte [rdi], 0x6e
inc rdi
cmp rax, 0xd
je 0x140016887
mov byte [rdi], 0x64
inc rdi
cmp rax, 0xe
je 0x140016887
mov byte [rdi], 0x6c
inc rdi
cmp rax, 0xf
je 0x140016887
mov byte [rdi], 0x6c
inc rdi
cmp rax, 0x10
je 0x140016887
mov byte [rdi], 0x33
inc rdi
cmp rax, 0x11
je 0x140016887
mov byte [rdi], 0x32
inc rdi
cmp rax, 0x12
je 0x140016887
mov byte [rdi], 0x2e
inc rdi
cmp rax, 0x13
je 0x140016887
mov byte [rdi], 0x65
inc rdi
cmp rax, 0x14
je 0x140016887
mov byte [rdi], pe_nt_image_headers64
inc rdi
cmp rax, 0x15
je 0x140016887
mov byte [rdi], 0x65
inc rdi
cmp rax, 0x16
jne 0x1400168ac
mov byte [rdi - 1], 0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001689a
call fcn.140031c88
mov eax, esi
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov byte [rdi], 0
mov r9, qword [rsp + 0x58]
add r9, 0xc
lea r8, [0x1400379e0]
lea rcx, [rsp + 0x200]
mov edx, 0x104
call fcn.140017630
test eax, eax
js 0x14001688b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0x80], 0x68
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0
xor esi, esi
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x200]
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
je 0x14001688b
mov r8, qword [rsp + 0x58]
mov r9d, dword [r8]
mov rcx, qword [rsp + 0x60]
lea rdx, [0x140034c58]
call fcn.140016060
test eax, eax
je 0x1400169ec
mov rcx, qword [rsp + 0x68]
call sub.KERNEL32.dll_ResumeThread
mov rcx, qword [rsp + 0x60]
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
mov dword [rsp + 0x54], 0x1f4
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x54]
call sub.KERNEL32.dll_GetExitCodeProcess
mov rcx, qword [rsp + 0x60]
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x68]
call sub.KERNEL32.dll_CloseHandle
xor esi, esi
cmp dword [rsp + 0x54], 0
sete sil
jmp 0x14001688b
mov rcx, qword [rsp + 0x60]
mov edx, 0xffffffff
call sub.KERNEL32.dll_TerminateProcess
mov rcx, qword [rsp + 0x60]
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x68]
call sub.KERNEL32.dll_CloseHandle
jmp 0x14001688b