Function at 0x1200d9e30
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x128
xor r11d, r11d
lea rsi, [rsp + 0xb0]
mov rdi, rdx
mov qword [rsp + 0x170], rcx
lea rax, [rsp + 0xa0]
mov rcx, r9
mov rbx, r8
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 0
mov word [rsp + 0xb0], r11w
mov qword [rsp + 0x68], rax
call sub.msvcrt.dll_getenv
mov rsi, rax
test rax, rax
je 0x1200d9f30
mov rcx, rax
lea r14, [rsp + 0x50]
lea r12, [rsp + 0xe0]
call sub.msvcrt.dll_strlen
mov rdx, r12
lea rcx, [rsp + 0x100]
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xe0], rax
lea r15, [rsp + 0x68]
lea rbp, [rsp + 0x110]
call fcn.120001698
mov rax, qword [rsp + 0x108]
mov rcx, r15
mov rdx, r14
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x58], rax
call fcn.12018b080
mov rcx, qword [rsp + 0x100]
mov esi, eax
cmp rcx, rbp
je 0x1200d9f27
mov rax, qword [rsp + 0x110]
lea rdx, [rax + rax + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
test sil, sil
jne 0x1200da388
lea rcx, str..exe
call sub.msvcrt.dll_wcslen
mov r8, rax
movabs rax, 0x1fffffffffffffff
sub rax, qword [rdi + 8]
cmp r8, rax
ja 0x1200da72b
lea rdx, str..exe
mov rcx, rdi
lea rsi, [rsp + 0xc0]
call fcn.120001c98
mov rcx, rsi
call fcn.1200d3870
mov rcx, rsi
call fcn.120136540
mov rdx, qword [rsp + 0x170]
add rdx, 0x10
mov qword [rsp + 0x48], rdx
test al, al
je 0x1200da113
mov rdx, qword [rdi + 8]
mov rax, qword [rdi]
lea r13, [rsp + 0x100]
lea rbp, [rsp + 0x110]
mov rcx, r13
lea r14, [rsp + 0x50]
lea r15, [rsp + 0x68]
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rsp + 0xc0]
lea r12, [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xc8]
lea r8, [rdx + rax*2]
call fcn.120154150
mov rdx, r12
mov rcx, r13
call fcn.1200d4e90
mov rax, qword [rsp + 0x108]
mov rcx, r15
mov rdx, r14
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x58], rax
call fcn.12018b080
mov rcx, qword [rsp + 0x100]
cmp rcx, rbp
je 0x1200da04b
mov rdx, qword [rsp + 0x110]
mov byte [rsp + 0x28], al
lea rdx, [rdx + rdx + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
movzx eax, byte [rsp + 0x28]
test al, al
jne 0x1200da610
cmp qword [rsp + 0xc8], 7
ja 0x1200da508
lea rcx, str.Makefile
lea rsi, [rsp + 0x80]
call sub.msvcrt.dll_wcslen
mov rdx, qword [rsp + 0xc0]
mov rcx, r13
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0x80], rax
lea rax, str.Makefile
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc8]
lea r8, [rdx + rax*2]
call fcn.120154150
mov rdx, rsi
mov rcx, r13
call fcn.1200d4e90
mov rax, qword [rsp + 0x108]
mov rcx, r12
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xe8], rax
call fcn.12013a8e0
mov rcx, qword [rsp + 0x100]
cmp rcx, rbp
je 0x1200da10b
mov rdx, qword [rsp + 0x110]
mov dword [rsp + 0x28], eax
lea rdx, [rdx + rdx + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x1200da3e0
lea rcx, str.PATH
call sub.msvcrt.dll_getenv
mov rbx, rax
test rax, rax
je 0x1200da300
mov rcx, rax
lea r13, [rsp + 0x100]
call sub.msvcrt.dll_strlen
lea rcx, [rsp + 0x80]
mov r9d, 1
lea r8, [0x1205e1770]
mov rdx, r13
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
call fcn.120001b18
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
cmp rax, rbx
je 0x1200da2e0
lea r12, [rsp + 0xe0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea r14, [rsp + 0x50]
lea r15, [rsp + 0x68]
mov qword [rsp + 0x30], r12
lea rbp, [rsp + 0x110]
lea rsi, [rsp + 0xf0]
jmp 0x1200da286
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x28]
xor r8d, r8d
mov rcx, r13
mov word [rsp + 0xf0], r8w
mov qword [rsp + 0x108], rax
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], 0
call fcn.1200d4e90
mov rcx, r15
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp + 0x50], rdx
mov rdx, r14
mov qword [rsp + 0x58], rax
call fcn.12018b080
mov rcx, qword [rsp + 0x100]
mov r12d, eax
cmp rcx, rbp
je 0x1200da253
mov rax, qword [rsp + 0x110]
lea rdx, [rax + rax + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0xe0]
cmp rcx, rsi
je 0x1200da272
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + rax + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
test r12b, r12b
jne 0x1200da578
add rbx, 0x10
cmp qword [rsp + 0x38], rbx
je 0x1200da2d8
mov rdx, qword [rdi + 8]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x70], rdx
mov rdx, rbx
mov qword [rsp + 0x78], rax
call fcn.120001698
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x100], rbp
cmp rax, rsi
jne 0x1200da1c0
movdqu xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x110], xmm0
jmp 0x1200da1d8
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x1200da300
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
sub rdx, rbx
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
nop dword [rax + rax]
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x48]
xor edx, edx
mov qword [rax], rdi
mov qword [rax + 8], 0
mov word [rax + 0x10], dx
mov rcx, qword [rsp + 0xc0]
lea rax, [rsp + 0xd0]
cmp rcx, rax
je 0x1200da345
mov rax, qword [rsp + 0xd0]
lea rdx, [rax + rax + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0xa0]
cmp rcx, qword [rsp + 0x40]
je 0x1200da366
mov rax, qword [rsp + 0xb0]
lea rdx, [rax + rax + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rax, qword [rsp + 0x170]
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x170]
add rax, 0x10
mov qword [rdi], rax
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0x40]
je 0x1200da690
mov rdi, qword [rsp + 0x170]
mov qword [rdi], rax
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x170]
mov qword [rdi + 8], rax
jmp 0x1200da366
mov rdx, qword [rdi + 8]
mov rax, qword [rdi]
mov rcx, r13
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rbx + 8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rbx]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc8]
lea r8, [rdx + rax*2]
call fcn.120154150
mov rdx, rsi
mov rcx, r13
call fcn.1200d4e90
mov rdx, r12
mov rcx, r13
call fcn.1200d4e90
mov rcx, r15
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp + 0x50], rdx
mov rdx, r14
mov qword [rsp + 0x58], rax
call fcn.12018b080
mov rcx, qword [rsp + 0x100]
mov ebx, eax
cmp rcx, rbp
je 0x1200da485
mov rax, qword [rsp + 0x110]
lea rdx, [rax + rax + 2]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
test bl, bl
je 0x1200da113
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x48]
mov qword [rax], rbx
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0x40]
je 0x1200da711
mov rdi, qword [rsp + 0x170]
mov qword [rdi], rax
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x170]
xor r9d, r9d
mov word [rsp + 0xb0], r9w
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xa0], rax
jmp 0x1200da31e
lea rcx, str._.libs_
call sub.msvcrt.dll_wcslen
mov rdx, qword [rsp + 0xc8]
cmp rdx, rax
jb 0x1200da062
lea rcx, str._.libs_
mov r8, qword [rsp + 0xc0]
add rdx, rdx
lea rax, [rcx + rax*2]
cmp rax, rcx
je 0x1200da6a2
lea rdx, [r8 + rdx - 2]
jmp 0x1200da561
sub rax, 2
sub rdx, 2
cmp rax, rcx
je 0x1200da6a2
movzx r10d, word [rdx]
cmp word [rax - 2], r10w
je 0x1200da550
jmp 0x1200da062
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x48]
mov qword [rax], rdi
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0x40]
je 0x1200da6dd
mov rdi, qword [rsp + 0x170]
mov qword [rdi], rax
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x170]
xor ecx, ecx
mov qword [rsp + 0xa8], 0
mov word [rsp + 0xb0], cx
mov rcx, qword [rsp + 0x80]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa0], rax
test rcx, rcx
je 0x1200da31e
mov rdx, qword [rsp + 0x90]
sub rdx, rcx
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
jmp 0x1200da31e
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x48]
mov qword [rax], rdi
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0x40]
je 0x1200da6f7
mov rbx, qword [rsp + 0x170]
mov qword [rbx], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0x10], rax
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x170]
xor r10d, r10d
mov word [rsp + 0xb0], r10w
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xa0], rax
jmp 0x1200da31e
movdqu xmm1, xmmword [rsp + 0xb0]
movups xmmword [rdi + 0x10], xmm1
jmp 0x1200da3c9
mov rcx, rsi
call fcn.1200d49a0
lea rcx, str..libs
call sub.msvcrt.dll_wcslen
mov rdx, r13
mov rcx, rbx
mov qword [rsp + 0x100], rax
lea rax, str..libs
mov qword [rsp + 0x108], rax
call fcn.1200d4e90
jmp 0x1200da062
mov rax, qword [rsp + 0x170]
movdqu xmm2, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x10], xmm2
jmp 0x1200da5b2
mov rax, qword [rsp + 0x170]
movdqu xmm3, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x10], xmm3
jmp 0x1200da64a
mov rax, qword [rsp + 0x170]
movdqu xmm4, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x10], xmm4
jmp 0x1200da4c7
lea rcx, [0x1205c611a]
call fcn.120001bf8
nop
nop
nop
nop
nop
nop
nop
nop
nop