Function at 0x140007290
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x378]
sub rsp, 0x478
mov rax, qword [0x140041080]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov qword [rbp - 0x70], r9
mov r12, r8
mov edi, edx
mov rbx, rcx
xor r14d, r14d
mov r15d, r14d
mov dword [rsp + 0x50], r14d
call fcn.140006fd0
mov qword [rbp - 0x68], rax
movzx r9d, ax
shl r9, 0x10
xor r8d, r8d
mov edx, 0x401
mov rcx, qword [0x140043ed8]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x402
mov rcx, qword [0x140043ed8]
call qword [sym.imp.USER32.dll_SendMessageW]
xor edx, edx
mov r8d, 0xf0
lea rcx, [rbp + 0x160]
call fcn.14002d790
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov r8d, edi
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140004e60
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x160]
call fcn.140009000
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140007397
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007392
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d4d
call fcn.14000d4e0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov r13, r14
lea rsi, [0x140000000]
lea rdi, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
nop
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x1a0]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x58], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp - 0x60]
call fcn.1400048a0
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14000741c
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x14000741c
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r8d, bl
lea rdx, [rbp]
lea rcx, [rbp + 0x160]
call fcn.14000bc00
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140007c44
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x60]
call fcn.14002d790
lea rax, [rsi + 0x3a950]
mov qword [rbp + 0x60], rax
lea rax, [rsi + 0x3a86c]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x108], 0
mov dword [rbp + 0x110], r14d
mov qword [rbp + 0x118], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x120], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x130], xmm1
movdqa xmmword [rbp + 0x140], xmm0
mov byte [rbp + 0x150], 0
or r15d, 1
mov dword [rsp + 0x50], r15d
mov qword [rbp + 0xf8], rdi
mov dword [rbp + 0xf4], 0x80
mov qword [rbp + 0x68], r14
xor r8d, r8d
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0xf8]
call fcn.14000b540
nop
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x70], rax
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x6c], edx
mov rax, qword [rbp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x60], rax
mov rax, qword [rbp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rbp + rcx + 0x5c], edx
mov rax, qword [rbp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x60], rax
mov rax, qword [rbp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x5c], edx
lea rax, [rbp + 0x78]
mov qword [rsp + 0x58], rax
lea rcx, [rbp + 0x78]
call fcn.14000b3c0
nop
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + 0x78], rax
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rdx, qword [rbp]
xor r9d, r9d
mov r8, qword [rbp + 0x10]
lea rcx, [rbp + 0x78]
call fcn.14000b0a0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov r8b, 0x7c
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x60]
call fcn.14000bc00
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140007b4f
mov rax, qword [rbp + 0x60]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0xa0]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x48], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp - 0x50]
call fcn.1400048a0
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14000762f
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x14000762f
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r8d, bl
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x60]
call fcn.14000bc00
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140007b4f
lea rbx, [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
mov r14, qword [rbp - 8]
cmp r14, 0xf
cmova rbx, rsi
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x1400076fa
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x250]
call fcn.14002d790
lea rcx, str.__n_r_t
lea rsi, [0x14003a774]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x250], 1
inc rcx
cmp rcx, rsi
jne 0x1400076a0
mov rsi, qword [rbp - 0x20]
lea rcx, [rdi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
add rax, rbx
movzx ecx, byte [rax]
cmp byte [rbp + rcx + 0x250], 0
je 0x1400076f5
nop dword [rax]
cmp rax, rbx
je 0x1400076fa
dec rax
movzx ecx, byte [rax]
cmp byte [rbp + rcx + 0x250], 0
jne 0x1400076e0
sub rax, rbx
jmp 0x140007701
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
cmp rdi, rcx
jb 0x140007d89
mov qword [rbp - 0x10], rcx
lea rax, [rbp - 0x20]
cmp r14, 0xf
cmova rax, rsi
mov byte [rax + rcx], 0
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 0xf
cmova rcx, qword [rbp - 0x20]
mov r8d, 0x104
lea rdx, [rbp + 0x250]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
dec eax
cmp eax, 0x103
ja 0x14000778f
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xor r14d, r14d
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], r14
lea rax, [rbp + 0x250]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x140007770
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x40]
call fcn.140004e60
or r15d, 0x20
jmp 0x1400077be
lea rdx, str.Failed_to_expand_environment_variables_in_path.
lea rcx, [0x1400426b0]
call fcn.1400049e0
mov rcx, rax
call fcn.140004c90
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x40]
call fcn.140002e60
or r15d, 0x20
xor r14d, r14d
lea r8, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova r8, qword [rbp - 0x40]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, dword [rbp - 0x30]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], r14
mov r8, rbx
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.14000b7e0
or r15d, 0x10
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rcx, qword [rbp + 0x20]
lea r8, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova r8, qword [rbp - 0x40]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp - 0x30]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 3
mov qword [rsp + 0x48], 7
mov rax, qword [0x14003a778]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14003a77c]
mov word [rsp + 0x34], ax
mov word [rsp + 0x36], r14w
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov rsi, qword [rbp - 0x70]
mov rbx, qword [rsi + 8]
sub rbx, qword [rsi]
je 0x140007920
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x140007d5f
cmp rbx, 0x1000
jb 0x1400078e4
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140007d59
call fcn.14000d4e8
test rax, rax
je 0x140007d53
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400078ef
mov rcx, rbx
call fcn.14000d4e8
mov rdi, rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
lea rcx, [rdi + rbx]
mov qword [rsp + 0x70], rcx
mov rbx, qword [rsi + 8]
mov rdx, qword [rsi]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.14002d0f0
lea rax, [rdi + rbx]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r14
mov rbx, qword [r12 + 8]
sub rbx, qword [r12]
je 0x1400079bc
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x140007d71
cmp rbx, 0x1000
jb 0x140007981
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140007d6b
call fcn.14000d4e8
test rax, rax
je 0x140007d65
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000798c
mov rcx, rbx
call fcn.14000d4e8
mov rdi, rax
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
lea rcx, [rbx + rdi]
mov qword [rbp - 0x78], rcx
mov rbx, qword [r12 + 8]
mov rdx, qword [r12]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.14002d0f0
lea rax, [rbx + rdi]
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rcx, qword [rbp + 0x20]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
lea r8, [rbp + 0x40]
lea rdx, [rsp + 0x30]
call fcn.140006780
movzx ebx, al
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x140007a2c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007a27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d77
call fcn.14000d4e0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
test bl, bl
jne 0x140007aa3
lea rdx, str.Failed_to_decrypt_resource_ID:
lea rcx, [0x1400426b0]
call fcn.1400049e0
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
mov rcx, rax
call fcn.14000be50
lea rdx, [0x14003a780]
mov rcx, rax
call fcn.1400049e0
lea rdx, [rbp + 0x40]
cmp qword [rbp + 0x58], 0xf
cmova rdx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x50]
mov rcx, rax
call fcn.14000be50
mov rcx, rax
call fcn.140004c90
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x140007ae3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007ade
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d7d
call fcn.14000d4e0
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r14w
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x140007b2f
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007b2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d83
call fcn.14000d4e0
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
lea rdi, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
lea rsi, [0x140000000]
jmp 0x140007b84
lea rdx, str.Invalid_format_in_line:
lea rcx, [0x1400426b0]
call fcn.1400049e0
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rdx, qword [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, rax
call fcn.14000be50
mov rcx, rax
call fcn.140004c90
inc r13
xor r9d, r9d
mov r8, r13
mov edx, 0x402
mov rcx, qword [0x140043ed8]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x140007bdb
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007bd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d8f
call fcn.14000d4e0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140007c26
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007c21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d95
call fcn.14000d4e0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
lea rcx, [rbp + 0x60]
call fcn.140007da0
jmp 0x1400073c0
xor r9d, r9d
mov r8, qword [rbp - 0x68]
mov edx, 0x402
mov rcx, qword [0x140043ed8]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140007c99
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007c94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d4d
call fcn.14000d4e0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x160], rax
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x15c], edx
lea rcx, [rbp + 0x170]
call fcn.140008f00
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x160], rdi
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x15c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x1f0]
call fcn.14000cf9c
nop
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.14000d4c0
add rsp, 0x478
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140015884
nop
call fcn.140015884
int3
call fcn.1400013a0
int3
call fcn.1400061f0
nop
call fcn.140015884
int3
call fcn.1400013a0
int3
call fcn.1400061f0
nop
call fcn.140015884
nop
call fcn.140015884
nop
call fcn.140015884
int3
call fcn.140004880
nop
call fcn.140015884
nop
call fcn.140015884
int3