Function at 0x140067550
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0xf28
call fcn.1400035e0
sub rsp, rax
lea rdx, [0x140186262]
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
lea rdx, [0x140186262]
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
lea rdx, [0x140186262]
lea rcx, [0x1402494d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
cmp qword [rsp + 0xf30], 0
je 0x1400675bf
cmp qword [rsp + 0xf38], 0
jne 0x1400675dd
mov qword [rsp + 0xf38], 0
mov qword [0x1402492c0], 0
xor eax, eax
jmp 0x140067e95
mov rcx, qword [rsp + 0xf30]
call fcn.140067480
mov byte [rsp + 0x24], al
movsx eax, byte [rsp + 0x24]
cmp eax, dword [0x14019bcb8]
jne 0x140067600
jmp 0x140067e56
movsx eax, byte [rsp + 0x24]
cmp eax, 0x24
jne 0x14006760c
jmp 0x140067631
movsx eax, byte [rsp + 0x24]
mov r9d, eax
lea r8, [0x1402494d0]
lea rdx, str._s_c
lea rcx, [0x1402494d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x1400675dd
mov rcx, qword [rsp + 0xf30]
call fcn.140067480
mov byte [rsp + 0x21], al
movsx eax, byte [rsp + 0x21]
cmp eax, 0x7b
jne 0x14006764e
jmp 0x1400676ae
movsx eax, byte [rsp + 0x21]
cmp eax, 0x28
jne 0x14006765d
jmp 0x140067930
movzx ecx, byte [rsp + 0x21]
call fcn.140067440
test eax, eax
je 0x14006768d
movsx eax, byte [rsp + 0x21]
mov r8d, eax
lea rdx, [0x14019bcd8]
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067b9e
movsx eax, byte [rsp + 0x21]
mov r8d, eax
lea rdx, str.Invalid_character__c_found_after__
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
mov rcx, qword [rsp + 0xf30]
call fcn.140067480
mov byte [rsp + 0x22], al
movsx eax, byte [rsp + 0x22]
cmp eax, dword [0x14019bcb8]
jne 0x1400676e5
lea rdx, str.Closing__not_found.
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
movsx eax, byte [rsp + 0x22]
cmp eax, 0x7d
jne 0x1400678d7
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x80], 0xffffffffffffffff
inc qword [rsp + 0x80]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x80]
cmp byte [rax + rcx], 0
jne 0x140067718
mov rax, qword [rsp + 0x80]
test rax, rax
jbe 0x140067778
lea rdx, [rsp + 0x720]
lea rcx, [rsp + 0x120]
call fcn.140067350
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x140067778
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_getenv]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x1400678b6
lea rax, [0x1402494d0]
mov qword [rsp + 0x28], rax
dec qword [rsp + 0x28]
inc qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
jne 0x140067795
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
xor edx, edx
movzx r8d, byte [rcx + rdx]
mov byte [rax + rdx], r8b
inc rdx
test r8b, r8b
jne 0x1400677b0
lea rax, [0x1402494d0]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x68], 0xffffffffffffffff
inc qword [rsp + 0x68]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x68]
cmp byte [rax + rcx], 0
jne 0x1400677d9
mov rax, qword [rsp + 0x68]
lea rcx, [0x1402494d0]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x5c
je 0x140067859
lea rax, [0x1402494d0]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xa8], 0xffffffffffffffff
inc qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa8]
cmp byte [rax + rcx], 0
jne 0x140067822
mov rax, qword [rsp + 0xa8]
lea rcx, [0x1402494d0]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x2f
jne 0x14006789a
lea rax, [0x1402494d0]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x78], 0xffffffffffffffff
inc qword [rsp + 0x78]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x78]
cmp byte [rax + rcx], 0
jne 0x140067871
mov rax, qword [rsp + 0x78]
lea rcx, [0x1402494d0]
mov byte [rcx + rax - 1], 0
lea rdx, [0x140186262]
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x1400675dd
lea r8, [rsp + 0x120]
lea rdx, str.Environment_Variable__s_not_set
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
movzx ecx, byte [rsp + 0x22]
call fcn.140067440
test eax, eax
je 0x14006790f
movsx eax, byte [rsp + 0x22]
mov r9d, eax
lea r8, [rsp + 0x120]
lea rdx, str._s_c
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x1400676ae
movsx eax, byte [rsp + 0x22]
mov r8d, eax
lea rdx, str.Invalid_character__c_found_in_environment_variable_name
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
mov rcx, qword [rsp + 0xf30]
call fcn.140067480
mov byte [rsp + 0x20], al
movsx eax, byte [rsp + 0x20]
cmp eax, dword [0x14019bcb8]
jne 0x140067953
jmp 0x140067e0d
movsx eax, byte [rsp + 0x20]
cmp eax, 0x29
jne 0x140067b45
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x98], 0xffffffffffffffff
inc qword [rsp + 0x98]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x98]
cmp byte [rax + rcx], 0
jne 0x140067986
mov rax, qword [rsp + 0x98]
test rax, rax
jbe 0x1400679e6
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x120]
call fcn.140067350
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jne 0x1400679e6
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_getenv]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
je 0x140067b24
lea rax, [0x1402494d0]
mov qword [rsp + 0x30], rax
dec qword [rsp + 0x30]
inc qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x140067a03
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
xor edx, edx
movzx r8d, byte [rcx + rdx]
mov byte [rax + rdx], r8b
inc rdx
test r8b, r8b
jne 0x140067a1e
lea rax, [0x1402494d0]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x88], 0xffffffffffffffff
inc qword [rsp + 0x88]
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x88]
cmp byte [rax + rcx], 0
jne 0x140067a4a
mov rax, qword [rsp + 0x88]
lea rcx, [0x1402494d0]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x5c
je 0x140067ac7
lea rax, [0x1402494d0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x60], 0xffffffffffffffff
inc qword [rsp + 0x60]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x60]
cmp byte [rax + rcx], 0
jne 0x140067a99
mov rax, qword [rsp + 0x60]
lea rcx, [0x1402494d0]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x2f
jne 0x140067b08
lea rax, [0x1402494d0]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x70], 0xffffffffffffffff
inc qword [rsp + 0x70]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x70]
cmp byte [rax + rcx], 0
jne 0x140067adf
mov rax, qword [rsp + 0x70]
lea rcx, [0x1402494d0]
mov byte [rcx + rax - 1], 0
lea rdx, [0x140186262]
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x1400675dd
lea r8, [rsp + 0x120]
lea rdx, str.Environment_Variable__s_not_set.
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
movzx ecx, byte [rsp + 0x20]
call fcn.140067440
test eax, eax
je 0x140067b7d
movsx eax, byte [rsp + 0x20]
mov r9d, eax
lea r8, [rsp + 0x120]
lea rdx, str._s_c
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067930
movsx eax, byte [rsp + 0x20]
mov r8d, eax
lea rdx, str.Invalid_character__c_found_in_environment_variable_name
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
mov rcx, qword [rsp + 0xf30]
call fcn.140067480
mov byte [rsp + 0x23], al
movzx ecx, byte [rsp + 0x23]
call fcn.140067440
test eax, eax
jne 0x140067dd1
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x120]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x58], 0xffffffffffffffff
inc qword [rsp + 0x58]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x58]
cmp byte [rax + rcx], 0
jne 0x140067be3
mov rax, qword [rsp + 0x58]
test rax, rax
jbe 0x140067c3a
lea rdx, [rsp + 0xb20]
lea rcx, [rsp + 0x120]
call fcn.140067350
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jne 0x140067c3a
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_getenv]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x140067db3
lea rax, [0x1402494d0]
mov qword [rsp + 0x38], rax
dec qword [rsp + 0x38]
inc qword [rsp + 0x38]
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0
jne 0x140067c57
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
xor edx, edx
movzx r8d, byte [rcx + rdx]
mov byte [rax + rdx], r8b
inc rdx
test r8b, r8b
jne 0x140067c72
lea rax, [0x1402494d0]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x90], 0xffffffffffffffff
inc qword [rsp + 0x90]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x90]
cmp byte [rax + rcx], 0
jne 0x140067c9e
mov rax, qword [rsp + 0x90]
lea rcx, [0x1402494d0]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x5c
je 0x140067d27
lea rax, [0x1402494d0]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xa0], 0xffffffffffffffff
inc qword [rsp + 0xa0]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xa0]
cmp byte [rax + rcx], 0
jne 0x140067cf0
mov rax, qword [rsp + 0xa0]
lea rcx, [0x1402494d0]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x2f
jne 0x140067d74
lea rax, [0x1402494d0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xb0], 0xffffffffffffffff
inc qword [rsp + 0xb0]
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xb0]
cmp byte [rax + rcx], 0
jne 0x140067d42
mov rax, qword [rsp + 0xb0]
lea rcx, [0x1402494d0]
mov byte [rcx + rax - 1], 0
movsx eax, byte [rsp + 0x23]
mov r9d, eax
lea r8, [0x1402494d0]
lea rdx, str._s_c
lea rcx, [0x1402494d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
lea rdx, [0x140186262]
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x1400675dd
lea r8, [rsp + 0x120]
lea rdx, str.Environment_variable__s_not_set.
lea rcx, [0x1402492d0]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067e0d
movsx eax, byte [rsp + 0x23]
cmp eax, dword [0x14019bcb8]
jne 0x140067de3
jmp 0x1400675dd
movsx eax, byte [rsp + 0x23]
mov r9d, eax
lea r8, [rsp + 0x120]
lea rdx, str._s_c
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR110.dll_sprintf]
jmp 0x140067b9e
cmp qword [rsp + 0xf40], 0
je 0x140067e2a
mov rax, qword [rsp + 0xf40]
lea rcx, [0x1402492d0]
mov qword [rax], rcx
cmp dword [0x14019bcb4], 0
je 0x140067e47
lea rdx, [0x1402492d0]
lea rcx, str.Error:__s__n
call qword [sym.imp.MSVCR110.dll_printf]
mov qword [0x1402492c0], 0
xor eax, eax
jmp 0x140067e95
mov rax, qword [rsp + 0xf38]
lea rcx, [0x1402494d0]
mov qword [rax], rcx
cmp dword [0x14019bcb4], 0
je 0x140067e85
lea rdx, [0x1402494d0]
lea rcx, str._nResult:__s_n
call qword [sym.imp.MSVCR110.dll_printf]
mov qword [0x1402492c0], 0
mov eax, 1
add rsp, 0xf28
ret