Function at 0x14000a390
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x1401339d8]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x58], rcx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
call fcn.140014190
mov rcx, rax
lea r9, [0x1400e8328]
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
xor edx, edx
call fcn.14009cf00
mov ebx, r13d
mov qword [rsp + 0x48], rbx
call fcn.140014190
cmp byte [rax + 0x64], r13b
je 0x14000a446
lea ecx, [r13 + 0x28]
call fcn.140095e50
mov rbx, rax
mov qword [rsp + 0x180], rax
test rax, rax
je 0x14000a43e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
call fcn.140014190
mov rdx, rax
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
mov rcx, rbx
call fcn.140098570
mov rbx, rax
jmp 0x14000a441
mov rbx, r13
mov qword [rsp + 0x48], rbx
xor r12b, r12b
mov qword [rsp + 0x38], r13
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x70]
call fcn.1400a57c0
lea rax, [0x1400e8ab8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x128], r13
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r13
mov dword [rsp + 0x40], 1
lea r14, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x120], r14
mov dword [rsp + 0x11c], 0x98
mov qword [rsp + 0x78], r13
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x120]
call fcn.140014280
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rsi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x80], rax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.140095e50
mov rdi, rax
test rax, rax
je 0x14000a524
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov cl, 1
call fcn.140072ef0
mov qword [rdi + 8], rax
jmp 0x14000a527
mov rdi, r13
mov qword [rsp + 0xe0], rdi
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x80], rax
mov byte [rsp + 0xfc], 0
mov byte [rsp + 0xf1], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xcc]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], r13
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0x88], r13
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0x100], r13
mov rax, qword [0x140137490]
mov qword [rsp + 0xf4], rax
mov qword [rsp + 0xe8], r13
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
mov dword [rcx + 0x14], 6
mov edx, dword [rcx + 0x10]
call fcn.140013370
nop
mov ecx, 0x20c
call fcn.140095ea0
mov rdi, rax
test rax, rax
je 0x14000ab22
xor edx, edx
mov r8d, 0x20c
mov rcx, rax
call fcn.1400a57c0
mov qword [rsp + 0x38], rdi
mov r8d, 0x104
mov rdx, rdi
lea rcx, str.SystemDrive
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetEnvironmentVariableW]
mov esi, eax
test eax, eax
jne 0x14000a6e8
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0xcb
jne 0x14000ab1d
call fcn.140014190
lea r9, str.Environment_variable_does_not_exist.
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
lea edx, [rsi + 5]
mov rcx, rax
call fcn.14009cf00
mov rcx, rdi
call fcn.140095e90
mov qword [rsp + 0x38], r13
call fcn.140014190
lea r9, [0x1400e8328]
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
lea edx, [rsi + 1]
mov rcx, rax
call fcn.14009cf00
nop
lea rcx, [rsp + 0x70]
call fcn.1400060a0
nop
test rbx, rbx
je 0x14000a6e1
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x14000ac56
cmp esi, 0x104
jbe 0x14000a812
mov rcx, rdi
call fcn.140095e90
mov qword [rsp + 0x38], r13
lea ecx, [rsi + 2]
mov eax, 2
mul rcx
mov r14, rax
mov r15, 0xffffffffffffffff
cmovo r14, r15
mov rcx, r14
call fcn.140095ea0
mov rdi, rax
test rax, rax
je 0x14000a7c0
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.1400a57c0
mov qword [rsp + 0x38], rdi
mov r8d, esi
mov rdx, rdi
lea rcx, str.SystemDrive
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x14000a819
call fcn.140014190
mov rsi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea r9, str.GetEnvironmentVariable_failed___d__n
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
lea edx, [r15 + 6]
mov rcx, rsi
call fcn.14009cf00
mov rcx, rdi
call fcn.140095e90
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0x70]
call fcn.1400060a0
nop
test rbx, rbx
je 0x14000a7b9
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x14000ac56
mov qword [rsp + 0x38], r13
call fcn.140014190
lea r9, str.Memory_Allocation_failed_during_resizing_:_Out_of_memory
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
mov edx, 5
mov rcx, rax
call fcn.14009cf00
nop
lea rcx, [rsp + 0x70]
call fcn.1400060a0
nop
test rbx, rbx
je 0x14000a80b
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x14000ac56
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x180], r13
mov rax, qword [0x140137440]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14000a846
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x140014436.0]
mov rcx, rax
test rax, rax
jne 0x14000a86a
call fcn.140008ac0
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x140014436.0]
mov rcx, rax
test rax, rax
je 0x14000ac83
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x140014436.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x180], rbx
mov dword [rsp + 0x40], 5
mov r13, qword [0x140137440]
mov eax, dword [r13 - 0x10]
mov dword [rsp + 0x50], eax
mov rsi, r15
nop dword [rax]
inc rsi
cmp word [rdi + rsi*2], 0
jne 0x14000a8a0
lea r14d, [rsi + rax]
test r14d, r14d
js 0x14000ac8e
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x14000a8e1
mov edx, r14d
lea rcx, [rsp + 0x180]
call fcn.140009970
mov rbx, qword [rsp + 0x180]
movsxd rax, esi
lea rsi, [rax + rax]
test rsi, rsi
je 0x14000a912
test rbx, rbx
jne 0x14000a904
call fcn.1400b95a0
mov dword [rax], SafeArrayCopy
call fcn.1400b1700
jmp 0x14000a912
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.1400a5110
lea rcx, [rsi + rbx]
movsxd r8, dword [rsp + 0x50]
add r8, r8
je 0x14000a94b
test rcx, rcx
je 0x14000a93b
test r13, r13
je 0x14000a934
mov rdx, r13
call fcn.1400a5110
jmp 0x14000a94b
xor edx, edx
call fcn.1400a57c0
call fcn.1400b95a0
mov dword [rax], SafeArrayCopy
call fcn.1400b1700
cmp r14d, dword [rbx - 0xc]
jg 0x14000aca8
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
xor esi, esi
mov word [rbx + rax*2], si
mov edx, dword [rbx - 0x10]
test edx, edx
js 0x14000ac98
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edx
or eax, ecx
jge 0x14000a993
lea rcx, [rsp + 0x180]
call fcn.140009970
mov rbx, qword [rsp + 0x180]
call fcn.140014190
mov qword [rsp + 0x20], rbx
lea r9, str.Build_File_Path___s
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
mov edx, 2
mov rcx, rax
call fcn.14009cf00
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140014520
cmp qword [rsp + 0x100], rsi
je 0x14000aaf8
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x198], rsi
mov qword [rsp + 0x1a0], SafeArrayGetDim
mov byte [rsp + 0x188], sil
xor r8d, r8d
lea rdx, [0x1400e8498]
lea rcx, [rsp + 0x188]
call fcn.1400130e0
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
mov dl, 0xa
call fcn.140015430
movzx r8d, al
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x70]
call fcn.1400034e0
lea rdx, [rsp + 0x188]
cmp qword [rsp + 0x1a0], 0x10
cmovae rdx, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x58]
lea rcx, [rsi + 0x20]
call fcn.140005cf0
mov rax, qword [rsi + 0x20]
mov edx, dword [rax - 0x10]
lea rcx, [rsi + 0x20]
call fcn.140008a70
mov rsi, rax
call fcn.140014190
mov qword [rsp + 0x20], rsi
lea r9, str.Build___s
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
mov edx, 2
mov rcx, rax
call fcn.14009cf00
lea rcx, [rsp + 0x70]
call fcn.1400134e0
mov r12b, 1
mov rdx, qword [rsp + 0x1a0]
cmp rdx, 0x10
jb 0x14000aaf8
inc rdx
mov rcx, qword [rsp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000aaf2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000aca2
call fcn.140095e90
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x14000ab18
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140014436.0]
mov rbx, qword [rsp + 0x48]
jmp 0x14000abe2
mov qword [rsp + 0x38], r13
call fcn.140014190
lea r9, str.Memory_Allocation_failed_:_Out_of_memory
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
mov edx, 5
mov rcx, rax
call fcn.14009cf00
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rsi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rsp + 0x80]
call fcn.1400055a0
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], r14
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x6c], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x120]
call fcn.140073c90
nop
test rbx, rbx
je 0x14000abcb
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x14000ac56
test rdi, rdi
je 0x14000abef
mov rcx, rdi
call fcn.140095e90
cmp qword [rsp + 0x100], 0
je 0x14000ac04
lea rcx, [rsp + 0x70]
call fcn.1400134e0
movzx edi, r12b
call fcn.140014190
mov rcx, rax
mov dword [rsp + 0x20], edi
lea r9, str.Return_Value___d
lea r8, str.RpcServer::WMIData::ReadBuildFromFile
mov edx, 1
call fcn.14009cf00
nop
lea rcx, [rsp + 0x70]
call fcn.1400060a0
nop
test rbx, rbx
je 0x14000ac52
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
movzx eax, r12b
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.1400964b0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140006b40
int3
mov ecx, 0x80070057
call fcn.140006b40
mov ecx, 0x80070057
call fcn.140006b40
call fcn.1400b1720
int3
mov ecx, 0x80070057
call fcn.140006b40
int3