Function at 0x180016120
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x1800f6ae8]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov r11, qword [rbp + 0x1f0]
lea ebx, [rdx + 0x12]
mov dword [rsp + 0x4c], ebx
xor r14d, r14d
mov qword [rsp + 0x68], r9
mov rdi, r9
mov r9d, dword [rsp + 0x4c]
mov r15, r8
mov r8d, dword [rsp + 0x4c]
mov r12, rcx
mov qword [rsp + 0x58], rcx
mov r10d, edx
mov dword [rsp + 0x30], r8d
mov r13d, edx
mov dword [rsp + 0x3c], r9d
movabs rcx, 0xfffffffeffffffff
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x50], r11
cmp edx, ebx
jae 0x1800166d1
mov eax, dword [rsp + 0x4c]
lea r12d, [rdx - 0x42]
mov rdi, qword [rsp + 0x78]
mov r10d, 0x6f43
movzx r14d, byte [rsp + 0x44]
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x38], eax
lea rdx, [0x180000000]
cmp r12d, 0x3b
ja case.0x1800161ef.18
movzx eax, byte [rdx + r12 + 0x16ba0]
mov ecx, dword [rdx + rax*4 + 0x16b54]
add rcx, rdx
jmp rcx
mov eax, dword [r11]
lea r9, [rsp + 0x70]
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
mov rax, qword [rsp + 0x68]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x20], 0x97
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
mov rax, qword [rsi]
mov qword [rsp + 0x78], rax
call fcn.18005c170
mov dword [rsp + 0x30], eax
mov r8d, eax
test eax, eax
je 0x180016266
mov edx, 0x6b
mov ecx, edx
sub ecx, 0x6b
je 0x180016257
cmp ecx, 0x56
je case.0x1800161ef.14
jmp 0x18001625b
mov dword [rsp + 0x48], eax
add edx, 0x56
cmp edx, 0x117
jb 0x180016245
mov r9d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x50]
mov r10d, 0x6f43
mov edx, dword [rsp + 0x38]
inc r13d
inc r12d
cmp r13d, ebx
jb 0x1800161cb
mov r12, qword [rsp + 0x58]
xor r14d, r14d
mov rdi, qword [rsp + 0x68]
movabs rcx, 0xfffffffeffffffff
mov r10d, dword [rsp + 0x40]
movzx r15d, byte [rsp + 0x44]
mov esi, r10d
mov r13, qword [rsp + 0x78]
imul eax, r10d, 0x5f0
cmp esi, eax
ja case.0x1800161ef.14
cmp esi, 0x73cb
ja 0x1800168ed
je 0x1800168db
cmp esi, 0x26eb
ja 0x180016779
je 0x18001674c
cmp esi, 0x42
je 0x1800166fc
cmp esi, 0x55
je 0x1800166de
cmp esi, 0x7b
je 0x180016ad4
cmp esi, 0x1ae5
jne 0x180016b25
mov r8d, 4
lea rdx, [0x1800ea0ca]
lea rcx, [rbp + 0x168]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
mov word [rbp + 0x170], r14w
jmp 0x180016b25
mov byte [rbp + 0x15c], 0
jmp case.0x1800161ef.18
mov rax, qword [r11]
lea rcx, [rsp + 0x60]
mov qword [r15], rax
mov edx, 0x53
mov eax, dword [r11]
mov dword [rsp + 0x60], eax
call fcn.18008f9f0
mov dword [r15 + 8], eax
mov r8d, dword [rsp + 0x30]
jmp 0x180016266
mov edx, 0xe7
mov rcx, rsi
call fcn.180017460
mov r8d, dword [rsp + 0x30]
mov byte [rsp + 0x48], al
jmp 0x180016266
mov eax, 0x47
mov word [rbp + 0x152], ax
mov eax, 0x6c
mov word [rbp + 0x153], ax
jmp case.0x1800161ef.18
mov dword [rbp + 0x154], 0x687079
mov word [rbp + 0x157], r10w
jmp case.0x1800161ef.18
mov edx, 0xf3
mov rcx, rsi
call fcn.1800a1280
test al, al
je 0x18001636a
mov esi, 0xc8
nop dword [rax]
mov eax, esi
sub eax, 0xc8
je 0x180016413
sub eax, 6
je 0x1800163fc
cmp eax, 6
je case.0x1800161ef.14
jmp 0x1800164a3
mov rcx, qword [r15]
xor edx, edx
lea r8d, [rdx + 0x5b]
call fcn.18004ec80
mov byte [rsp + 0x48], al
jmp 0x1800164a3
mov r8, qword [rsp + 0x58]
xor edx, edx
mov ecx, 0xaa
call fcn.180040270
test al, al
jne 0x1800164a3
mov ebx, 0x12b
nop dword [rax]
mov eax, ebx
sub eax, 0x128
je case.0x1800161ef.14
sub eax, 1
je 0x180016494
sub eax, 1
je 0x180016460
cmp eax, 1
jne 0x180016499
mov ecx, 0xfffffff5
movzx r14d, al
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
jmp 0x180016499
xor ecx, ecx
movzx eax, r14b
cmp rdi, 0xffffffffffffffff
cmovne ecx, eax
movzx r14d, cl
test cl, cl
je 0x180016499
lea rdx, [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x180016499
mov edx, dword [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
jmp 0x180016499
mov byte [rsp + 0x48], 0
dec ebx
cmp ebx, 0x127
ja 0x180016430
add esi, 6
cmp esi, 0xda
jb 0x1800163e0
mov ebx, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x180016266
mov r9d, 0x10a
mov qword [rsp + 0x20], 0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18005b240
test al, al
jne 0x18001636a
mov ecx, 0xec
nop dword [rax]
mov eax, ecx
sub eax, 0xec
je 0x180016504
cmp eax, 0x11
je case.0x1800161ef.14
jmp 0x180016509
mov byte [rsp + 0x48], 0
add ecx, 0x11
cmp ecx, 0x10e
jb 0x1800164f0
mov r8d, dword [rsp + 0x30]
jmp 0x180016266
mov eax, 0x7375
mov word [rbp + 0x150], ax
jmp case.0x1800161ef.18
mov rax, qword [rsp + 0x58]
mov ecx, r9d
mov rdx, qword [rsp + 0x70]
mov rax, qword [rax]
mov r8d, dword [rax + 0x28]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
mov r8d, dword [rsp + 0x30]
mov r10d, 0x6f43
mov rsi, qword [rsp + 0x58]
mov edx, eax
mov r9d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x38], eax
jmp 0x18001627a
movdqa xmm0, xmmword [str._b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b]
movq rax, xmm0
mov qword [0x1800fae40], rax
mov dword [0x1800fae48], eax
mov word [0x1800fae4c], ax
mov byte [0x1800fae4e], al
movups xmmword [0x1800fae00], xmm0
movups xmmword [0x1800fae10], xmm0
movups xmmword [0x1800fae20], xmm0
movups xmmword [0x1800fae30], xmm0
jmp case.0x1800161ef.18
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
test dword [rax + 0x10], 0x40000
je case.0x1800161ef.14
mov rsi, qword [rsp + 0x58]
jmp case.0x1800161ef.18
movdqa xmm0, xmmword [0x1800eed80]
movq rax, xmm0
mov byte [0x1800fadff], 0
mov qword [0x1800fadf0], rax
mov dword [0x1800fadf8], eax
mov word [0x1800fadfc], ax
mov byte [0x1800fadfe], al
movups xmmword [0x1800fadb0], xmm0
movups xmmword [0x1800fadc0], xmm0
movups xmmword [0x1800fadd0], xmm0
movups xmmword [0x1800fade0], xmm0
jmp case.0x1800161ef.18
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__open]
mov dword [rsp + 0x3c], eax
mov r9d, eax
test eax, eax
js 0x1800166b5
mov r8d, 0x7f2bb725
mov dword [rsp + 0x30], r8d
jmp 0x18001626b
xorps xmm0, xmm0
mov byte [0x1800fae4f], 0
movups xmmword [r15], xmm0
jmp case.0x1800161ef.18
lea rcx, str.compilerinstruction.cc
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8d, dword [rsp + 0x30]
mov r10d, 0x6f43
mov edx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x50]
test rax, rax
je 0x18001627a
inc dword [r15 + 0xc]
jmp 0x18001627a
mov eax, 0x75
mov word [rbp + 0x159], ax
mov eax, 0x746e
mov word [rbp + 0x15a], ax
jmp case.0x1800161ef.18
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
movzx r15d, byte [rsp + 0x44]
mov r13, qword [rsp + 0x78]
mov ecx, dword [rax]
mov dword [rsp + 0x30], ecx
jmp 0x180016a62
mov edx, dword [rsp + 0x4c]
mov dword [rsp + 0x38], edx
jmp 0x1800162a5
movabs rax, 0x32003400330023
mov word [rbp + 0x168], r14w
mov qword [rbp + 0x160], rax
jmp 0x180016b25
test rdi, rdi
je 0x180016740
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputs]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
nop word [rax + rax]
mov qword [0x1800fae50], r14
jmp 0x180016b25
mov rax, qword [r12]
mov ecx, dword [rax + 0x28]
cmp edx, ecx
jne 0x18001680f
mov r8d, ecx
xor edx, edx
mov rcx, qword [rsp + 0x70]
call sub.VCRUNTIME140.dll_memset
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
jmp 0x180016b25
cmp esi, 0x3575
je 0x1800168aa
cmp esi, 0x4d5b
je 0x1800167bf
cmp esi, 0x5005
je 0x1800167ae
cmp esi, 0x6a95
jne 0x180016b25
mov word [rbp + 0x17a], r14w
jmp 0x180016b25
mov eax, 0x59
mov word [rbp + 0x178], ax
jmp 0x180016b25
test byte [r11], 2
jne 0x1800168db
mov r14d, 1
cmp dword [rdi], r14d
jbe 0x180016b25
nop dword [rax + rax]
mov edi, 0xb0
mov eax, edi
sub eax, 0xb0
je 0x18001685b
sub eax, 1
je 0x18001681e
cmp eax, 1
jne 0x18001687c
mov rax, qword [r12]
cmp edx, dword [rax + 0x28]
je 0x18001687c
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov esi, 0x9a3b
jmp 0x180016b25
test edx, edx
jns 0x18001687c
mov ebx, 0xab
cmp ebx, 0xab
je 0x180016839
cmp ebx, 0x1c0e
je 0x180016805
jmp 0x180016847
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r8d, dword [rax]
mov dword [rsp + 0x30], r8d
add ebx, 0x1b63
cmp ebx, 0x36c6
jbe 0x180016827
mov edx, dword [rsp + 0x38]
jmp 0x180016877
mov rax, qword [r12]
mov ecx, r9d
mov rdx, qword [rsp + 0x70]
mov r8d, dword [rax + 0x28]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
mov edx, eax
mov dword [rsp + 0x38], eax
mov r9d, dword [rsp + 0x3c]
inc edi
cmp edi, 0xb3
jb 0x1800167e5
mov rdi, qword [rsp + 0x68]
inc r14d
cmp r14d, dword [rdi]
jb 0x1800167e0
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
jmp 0x180016b25
mov r8d, 4
lea rdx, [0x1800ea0a8]
lea rcx, [rbp + 0x170]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
mov word [rbp + 0x178], r14w
jmp 0x180016b25
mov esi, 0x73cb
mov dword [rsp + 0x30], r14d
mov r8d, r14d
jmp 0x180016b25
cmp esi, 0xc0ab
ja 0x180016a7b
je 0x180016a59
cmp esi, 0x8525
je 0x180016a4a
cmp esi, 0x9a3b
je 0x18001680f
cmp esi, 0x9fb5
je 0x180016957
cmp esi, 0xba45
jne 0x180016b25
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [rbp + 0x150]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
jmp 0x180016b25
cmp byte [r12 + 0x118], 0
je 0x180016a17
mov ebx, 0x7f
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x7f
je 0x1800169fb
sub eax, 0x54
je 0x1800169db
sub eax, 0x54
je 0x1800169bd
cmp eax, 0x54
jne 0x1800169fe
mov byte [rsp + 0x48], 0
mov eax, dword [rsp + 0x48]
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.1800d1090
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, [r13 + 1]
test rcx, rax
jne 0x1800169cb
xor r15b, r15b
jmp 0x1800169fe
test r15b, r15b
je 0x1800169fe
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_CloseTrace]
jmp 0x1800169fe
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x1c0
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x70]
call qword [sym.imp.ADVAPI32.dll_OpenTraceW]
mov r13, rax
jmp 0x1800169fe
mov r15b, 1
add ebx, 0x54
movabs rcx, 0xfffffffeffffffff
cmp ebx, 0x1cf
jb 0x180016970
mov r8, qword [r12]
lea rdx, [r12 + 0x78]
mov rcx, qword [r12 + 0x100]
mov r9d, 0x53
call fcn.1800b1ee0
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
mov byte [r12 + 0x118], al
jmp 0x180016b25
mov dword [rbp + 0x17a], 0x41
jmp 0x180016b25
mov ecx, r9d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__close]
mov r8d, dword [rsp + 0x30]
mov esi, 0xc0ab
mov rdi, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x40]
jmp 0x180016b25
cmp esi, 0xd4d5
je 0x180016b18
cmp esi, 0xe71b
je 0x180016af7
cmp esi, 0xef65
je case.0x1800161ef.14
cmp esi, 0x10d8b
jne 0x180016b25
mov ecx, 0xbc
nop dword [rax]
mov eax, ecx
sub eax, 0xbc
je 0x180016ac4
cmp eax, 0x61
je case.0x1800161ef.14
jmp 0x180016ac9
mov dword [rsp + 0x48], r8d
add ecx, 0x61
cmp ecx, 0x17e
jb 0x180016ab0
test edx, edx
jns 0x180016b25
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r10d, dword [rsp + 0x40]
mov esi, 0x9a3b
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rax]
mov dword [rsp + 0x30], r8d
jmp 0x180016b25
mov r9d, 0xe6
lea rdx, [rsp + 0x70]
xor r8d, r8d
xor ecx, ecx
call fcn.18008d780
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
jmp 0x180016b25
movzx eax, byte [r12 + 0x118]
mov byte [rsp + 0x48], al
mov edx, dword [rsp + 0x38]
lea eax, [r10 + r10*4]
mov r12, qword [rsp + 0x58]
movabs rcx, 0xfffffffeffffffff
mov r9d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x50]
shl eax, 4
add esi, eax
xor r14d, r14d
jmp 0x1800162b3