Function at 0x140016510
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 0x140016572
mov ecx, 0x57
call sub.KERNEL32.dll_SetLastError
xor esi, esi
jmp 0x14001674b
lea rcx, [rsp + 0x58]
mov edx, r15d
mov r8d, r14d
mov r9, rsi
call fcn.1400168e0
xor esi, esi
test eax, eax
je 0x14001674b
add ebp, 0xfffffefc
cmp ebp, 0xfffffefd
jb 0x14001674b
mov rcx, 0xfffffffffffffefc
mov eax, 0x100
nop dword [rax]
cmp byte [rsp + rcx + 0x1f4], 0
je 0x1400165f1
cmp byte [rsp + rcx + 0x1f5], 0
je 0x1400165f9
cmp byte [rsp + rcx + 0x1f6], 0
je 0x1400165ff
cmp byte [rsp + rcx + 0x1f7], 0
je 0x140016605
cmp byte [rsp + rcx + 0x1f8], 0
je 0x140016608
add rax, 0xfffffffffffffffb
add rcx, 5
jne 0x1400165b0
jmp 0x14001674b
neg rcx
mov rax, rcx
jmp 0x140016608
add rax, 3
jmp 0x140016608
add rax, 2
jmp 0x140016608
inc rax
sub rdi, rax
mov byte [rdi + 0x104], 0x5c
add rdi, 0x105
cmp rax, 1
je 0x140016747
mov byte [rdi], 0x73
inc rdi
cmp rax, 2
je 0x140016747
mov byte [rdi], 0x79
inc rdi
cmp rax, 3
je 0x140016747
mov byte [rdi], 0x73
inc rdi
cmp rax, 4
je 0x140016747
mov byte [rdi], 0x77
inc rdi
cmp rax, 5
je 0x140016747
mov byte [rdi], 0x6f
inc rdi
cmp rax, 6
je 0x140016747
mov byte [rdi], 0x77
inc rdi
cmp rax, 7
je 0x140016747
mov byte [rdi], 0x36
inc rdi
cmp rax, 8
je 0x140016747
mov byte [rdi], 0x34
inc rdi
cmp rax, 9
je 0x140016747
mov byte [rdi], 0x5c
inc rdi
cmp rax, 0xa
je 0x140016747
mov byte [rdi], 0x72
inc rdi
cmp rax, 0xb
je 0x140016747
mov byte [rdi], 0x75
inc rdi
cmp rax, 0xc
je 0x140016747
mov byte [rdi], 0x6e
inc rdi
cmp rax, 0xd
je 0x140016747
mov byte [rdi], 0x64
inc rdi
cmp rax, 0xe
je 0x140016747
mov byte [rdi], 0x6c
inc rdi
cmp rax, 0xf
je 0x140016747
mov byte [rdi], 0x6c
inc rdi
cmp rax, 0x10
je 0x140016747
mov byte [rdi], 0x33
inc rdi
cmp rax, 0x11
je 0x140016747
mov byte [rdi], 0x32
inc rdi
cmp rax, 0x12
je 0x140016747
mov byte [rdi], 0x2e
inc rdi
cmp rax, 0x13
je 0x140016747
mov byte [rdi], 0x65
inc rdi
cmp rax, 0x14
je 0x140016747
mov byte [rdi], pe_nt_image_headers64
inc rdi
cmp rax, 0x15
je 0x140016747
mov byte [rdi], 0x65
inc rdi
cmp rax, 0x16
jne 0x14001676c
mov byte [rdi - 1], 0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001675a
call fcn.140031ab8
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.1400174f0
test eax, eax
js 0x14001674b
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 0x14001674b
mov r8, qword [rsp + 0x58]
mov r9d, dword [r8]
mov rcx, qword [rsp + 0x60]
lea rdx, [0x140034c58]
call fcn.140015f20
test eax, eax
je 0x1400168ac
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 0x14001674b
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 0x14001674b