Function at 0x140012060
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push r13
push r14
sub rsp, 0x48
cmp dword [rdx + 4], 0
mov r14, rdx
ja 0x140012080
xor r13d, r13d
jmp 0x140012098
mov rax, qword [rdx + 0x10]
cmp dword [rax], 0
ja 0x14001208e
xor r13d, r13d
jmp 0x140012098
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax]
mov r13, qword [rcx]
cmp dword [rdx + 0xb8], 0
jne 0x1400120bb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.WS2_32.dll_shutdown
mov eax, 0xffffffff
add rsp, 0x48
pop r14
pop r13
ret
mov edx, dword [rdx + 8]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x30], rdi
call fcn.1400169d0
test eax, eax
js 0x1400124e0
mov eax, dword [r14 + 0x20]
mov rdi, qword [rsp + 0x70]
lea rcx, [rdi + 0x198]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rsi
mov esi, 1
mov dword [rdi + 0x20], eax
movups xmm0, xmmword [r14 + 0x6c]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
movups xmmword [rdi + 0x6c], xmm0
movups xmm1, xmmword [r14 + 0x7c]
movups xmmword [rdi + 0x7c], xmm1
movups xmm0, xmmword [r14 + 0x8c]
movups xmmword [rdi + 0x8c], xmm0
movups xmm1, xmmword [r14 + 0x9c]
movups xmmword [rdi + 0x9c], xmm1
movsd xmm0, qword [r14 + 0xac]
movsd qword [rdi + 0xac], xmm0
mov eax, dword [r14 + 0xb4]
mov dword [rdi + 0xb4], eax
mov dword [rdi + 0xb8], esi
mov rax, qword [r14 + 0xc0]
mov qword [rdi + 0xc0], rax
mov rax, qword [r14 + 0xd0]
mov qword [rdi + 0xd0], rax
lea rax, [r14 + 0x198]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rcx + 0x70], xmm0
movups xmm1, xmmword [rax + 0x80]
movups xmmword [rcx + 0x80], xmm1
movups xmm0, xmmword [rax + 0x90]
movups xmmword [rcx + 0x90], xmm0
movups xmm1, xmmword [rax + 0xa0]
movups xmmword [rcx + 0xa0], xmm1
movups xmm0, xmmword [rax + 0xb0]
movups xmmword [rcx + 0xb0], xmm0
mov rcx, qword [r14 + 0x258]
mov rdx, qword [rdi + 0x258]
movzx eax, word [rcx]
mov word [rdx], ax
movzx eax, byte [rcx + 2]
mov byte [rdx + 2], al
mov rcx, qword [r14 + 0x260]
mov rdx, qword [rdi + 0x260]
movsd xmm0, qword [rcx]
movsd qword [rdx], xmm0
movzx eax, word [rcx + 8]
mov word [rdx + 8], ax
movzx eax, byte [rcx + 0xa]
mov byte [rdx + 0xa], al
mov rcx, qword [r14 + 0x268]
mov rdx, qword [rdi + 0x268]
movsd xmm0, qword [rcx]
movsd qword [rdx], xmm0
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
movzx eax, word [rcx + 0xc]
mov word [rdx + 0xc], ax
movzx eax, byte [rcx + 0xe]
xor ecx, ecx
mov byte [rdx + 0xe], al
mov rdx, qword [r14 + 0x188]
call fcn.140019f80
mov qword [rdi + 0x188], rax
mov rdx, qword [r14 + 0x190]
xor ecx, ecx
call fcn.140019f80
mov qword [rdi + 0x190], rax
mov rax, qword [r14 + 0x270]
mov qword [rdi + 0x270], rax
mov rax, qword [r14 + 0x278]
mov qword [rdi + 0x278], rax
mov eax, dword [r14 + 0x280]
mov dword [rdi + 0x280], eax
mov eax, dword [r14 + 0x24]
mov dword [rdi + 0x24], eax
mov eax, dword [r14 + 0x28]
mov dword [rdi + 0x28], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0x30]
mov dword [rdi + 0x30], eax
mov eax, dword [r14 + 0x34]
mov dword [rdi + 0x34], eax
mov eax, dword [r14 + 0x38]
mov dword [rdi + 0x38], eax
mov eax, dword [r14 + 0x3c]
mov dword [rdi + 0x3c], eax
mov eax, dword [r14 + 0x40]
mov dword [rdi + 0x40], eax
mov eax, dword [r14 + 0x44]
mov dword [rdi + 0x44], eax
mov eax, dword [r14 + 0x48]
mov dword [rdi + 0x48], eax
mov eax, dword [r14 + 0x4c]
mov dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x50]
mov dword [rdi + 0x50], eax
mov eax, dword [r14 + 0x54]
mov dword [rdi + 0x54], eax
mov eax, dword [r14 + 0x58]
mov dword [rdi + 0x58], eax
mov eax, dword [r14 + 0x5c]
mov dword [rdi + 0x5c], eax
mov eax, dword [r14 + 0x60]
mov dword [rdi + 0x60], eax
mov eax, dword [r14 + 0x64]
mov dword [rdi + 0x64], eax
mov eax, dword [r14 + 0x68]
mov dword [rdi + 0x68], eax
mov eax, dword [r14 + 4]
mov dword [rdi + 4], eax
cmp eax, esi
jbe 0x14001238c
nop word [rax + rax]
mov rax, qword [r14 + 0x10]
mov rcx, qword [rdi + 0x10]
mov r15d, esi
mov eax, dword [rax + r15*4]
mov dword [rcx + r15*4], eax
mov rax, qword [rdi + 0x10]
mov ebx, dword [rax + r15*4]
shl rbx, 3
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
je 0x14001237d
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rdi + 0x18]
inc esi
mov qword [rcx + r15*8], rbp
cmp esi, dword [rdi + 4]
jb 0x140012340
mov r12, r14
lea rbx, [rdi + 0xe8]
sub r12, rdi
mov r15d, 5
nop
mov eax, dword [r12 + rbx]
mov dword [rbx], eax
test eax, eax
je 0x1400123d2
mov esi, eax
shl rsi, 3
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
je 0x1400123ce
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbx + 8], rbp
add rbx, 0x20
sub r15, 1
jne 0x1400123a0
cmp dword [rdi + 4], 0
mov r15, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
ja 0x140012400
xor r8d, r8d
jmp 0x140012418
mov rax, qword [rdi + 0x10]
cmp dword [rax], 0
ja 0x14001240e
xor r8d, r8d
jmp 0x140012418
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
mov r8, qword [rcx]
mov r9, r13
xor edx, edx
mov rcx, rdi
call fcn.140011bc0
test eax, eax
js 0x14001247d
mov rdx, r14
mov rcx, rdi
call fcn.140021950
test eax, eax
js 0x14001247d
mov dword [rdi + 0xbc], 0
lea rcx, str.HWLOC_DEBUG_CHECK
mov qword [rdi + 0x2c0], 0
mov qword [rdi + 0x2c8], 0
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rax, qword [rsp + 0x60]
mov qword [rax], rdi
xor eax, eax
mov rdi, qword [rsp + 0x30]
add rsp, 0x48
pop r14
pop r13
ret
cmp qword [rdi + 0xd8], 0
jne 0x1400124e0
mov rcx, rdi
call fcn.1400217b0
call fcn.140021480
mov rcx, rdi
call fcn.140017360
mov rcx, qword [rdi + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0x258]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0x260]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0x268]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, qword [rsp + 0x30]
mov eax, 0xffffffff
add rsp, 0x48
pop r14
pop r13
ret
jmp 0x140012060