Function at 0x4ea200
Capabilities:
Query environment variable
Write file on windows

Disassembly:
push r14
push r13
push r12
push rdi
push rsi
sub rsp, 0x40
mov r12, rcx
mov ecx, dword [rcx + 0xc8]
test ecx, ecx
jne 0x4eabc0
mov rcx, r12
call fcn.004ed970
lea rcx, str.HWLOC_XML_USERDATA_NOT_DECODED
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4ea242
mov dword [r12 + 0x2b0], 1
lea rcx, [0x00720747]
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4ea900
mov qword [rsp + 0x38], 0
lea rcx, str.HWLOC_ALLOW
call sub.msvcrt.dll_getenv
mov rsi, rax
test rax, rax
je 0x4ea290
mov ecx, 4
lea rdi, [0x007207aa]
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x4ea290
or dword [rsp + 0x3c], 2
mov rcx, r12
call fcn.004efdd0
mov rcx, r12
call fcn.004f0250
mov rcx, r12
call fcn.004f0390
mov rcx, r12
call fcn.004f1b90
mov rcx, r12
call fcn.004f4f70
mov dword [r12 + 0xcc], 0
call fcn.004f2040
mov qword [r12 + 0x1b8], rax
call fcn.004f2040
mov esi, dword [r12 + 0x300]
mov qword [r12 + 0x1c0], rax
test sil, 1
jne 0x4ea630
test sil, 2
jne 0x4ea686
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax + 0xb8]
test rcx, rcx
je 0x4eab88
call fcn.004f3240
test eax, eax
jne 0x4eab88
and esi, 4
jne 0x4ea820
mov rax, qword [r12 + 0x280]
test rax, rax
je 0x4ea368
mov edx, dword [r12 + 0xc4]
test edx, edx
je 0x4ea368
test byte [rsp + 0x3c], 2
jne 0x4ea368
test byte [r12 + 0x20], 4
je 0x4eab10
mov rcx, r12
call rax
or dword [rsp + 0x3c], 2
nop dword [rax]
mov rax, qword [r12 + 0x18]
lea r13, [r12 + 0x310]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax + 0xd0]
call fcn.004f3240
test eax, eax
jne 0x4ea6b0
mov rcx, qword [r12 + 0x320]
call fcn.0052ed18
mov qword [r12 + 0x310], 0
mov qword [r12 + 0x318], 0
mov qword [r13 + 0x10], 0
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax + 0xb8]
mov r8, qword [rax + 0xc0]
mov rdx, rcx
call fcn.004f3740
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax + 0xc8]
mov r8, qword [rax + 0xd0]
mov rdx, rcx
call fcn.004f3740
mov rax, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x1b8]
mov rax, qword [rax]
mov rdx, rcx
mov rax, qword [rax]
mov r8, qword [rax + 0xb8]
call fcn.004f3740
mov rax, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x1c0]
mov rax, qword [rax]
mov rdx, rcx
mov rax, qword [rax]
mov r8, qword [rax + 0xc8]
call fcn.004f3740
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rcx, qword [rax]
call fcn.004e1fa0
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rcx, qword [rax]
call fcn.004e20e0
test byte [r12 + 0x20], 1
je 0x4ea840
mov rax, qword [r12 + 0x18]
mov rcx, qword [rax]
mov r13, qword [rcx]
mov eax, dword [r13]
cmp eax, 0x13
ja 0x4ea749
mov edx, eax
mov edx, dword [r12 + rdx*4 + 0x74]
cmp edx, 1
je 0x4ea760
cmp edx, 3
je 0x4eaa30
xor edx, edx
mov rcx, r12
call fcn.004e7ca0
test eax, eax
js 0x4eab94
mov eax, dword [r12 + 0x300]
test al, 8
jne 0x4ea860
test al, 0x10
jne 0x4ea88a
test al, 0x20
jne 0x4ea8b4
test al, 0x40
jne 0x4ea8de
lea rcx, str.HWLOC_DEBUG_SORT_CHILDREN
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4ea4fa
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rcx, qword [rax]
call fcn.004e2820
mov rax, qword [r12 + 0x18]
mov rcx, r12
mov rax, qword [rax]
mov rdx, qword [rax]
call fcn.004e4870
mov rax, qword [r12 + 0x18]
mov rcx, r12
mov rdx, qword [rax]
call fcn.004e48c0
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rsi, qword [rax]
test rsi, rsi
je 0x4eac31
mov rcx, qword [rsi + 0xb8]
call fcn.004f3240
test eax, eax
jne 0x4eac07
mov rcx, qword [rsi + 0xc8]
call fcn.004f3240
mov r13d, eax
test eax, eax
jne 0x4eabe0
xor edx, edx
mov rcx, r12
call fcn.004e7ca0
test eax, eax
js 0x4eab94
mov rcx, r12
call fcn.004e49f0
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rcx, qword [rax]
call fcn.004e2750
mov rax, qword [r12 + 0x18]
mov rcx, r12
mov rax, qword [rax]
mov rdx, qword [rax]
call fcn.004e1b20
mov rcx, r12
call fcn.004e1550
mov rax, qword [r12 + 0x2f0]
test rax, rax
je 0x4ea5cf
mov rax, qword [rax]
mov ecx, 4
lea rdi, [0x0071fff6]
mov rsi, qword [rax]
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x4eaa58
mov rcx, r12
call fcn.004f5080
lea rcx, str.HWLOC_DEBUG_CHECK
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4ea5f0
mov rcx, r12
call fcn.004e8f10
mov rcx, r12
call fcn.004eea50
mov rcx, r12
call fcn.004ee690
mov dword [r12 + 0xc8], 1
test byte [r12 + 0x300], 0x80
jne 0x4ea7f0
mov eax, r13d
add rsp, 0x40
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
mov rsi, qword [r12 + 0x2f0]
test rsi, rsi
je 0x4eaae8
cmp dword [rsi + 0x20], 1
je 0x4ea661
mov r8d, 0xc9a
lea rdx, str.topology.c
lea rcx, str.global_backend__phases__HWLOC_DISC_PHASE_GLOBAL
call qword [sym.imp.msvcrt.dll__assert]
mov rcx, rsi
mov dword [rsp + 0x34], 1
lea rdx, [rsp + 0x34]
call qword [rsi + 0x40]
mov esi, dword [r12 + 0x300]
test sil, 2
je 0x4ea2fa
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], 2
call fcn.004e2680
mov esi, dword [r12 + 0x300]
jmp 0x4ea2fa
xor r8d, r8d
mov edx, 0xd
mov rcx, r12
call fcn.004e6490
mov rsi, rax
mov rax, qword [r12 + 0x18]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax + 0xb8]
call fcn.004f2160
mov qword [rsi + 0xb8], rax
call fcn.004f1fe0
xor edx, edx
mov qword [rsi + 0xc8], rax
mov rcx, rax
call fcn.004f2d60
mov rax, qword [rsi + 0x28]
mov r8, rsi
mov rcx, r12
movdqu xmm0, xmmword [r12 + 0x310]
lea r9, [0x004e3df0]
movups xmmword [rax], xmm0
mov rdx, qword [r13 + 0x10]
mov qword [rax + 0x10], rdx
xor edx, edx
mov qword [r12 + 0x310], 0
mov qword [r12 + 0x318], 0
mov qword [r13 + 0x10], 0
call fcn.004e6e50
jmp 0x4ea3bc
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov rax, qword [r12 + 0x18]
mov rcx, qword [rax]
mov r13, qword [rcx]
mov r11, qword [r13 + 0x78]
test r11, r11
je 0x4ea49f
cmp qword [r11 + 0x58], 0
jne 0x4ea49f
mov qword [r11 + 0x48], 0
mov qword [rcx], r11
mov rdx, qword [r13 + 0x90]
test rdx, rdx
je 0x4ea79e
lea rcx, [r11 + 0x90]
mov r8, r11
call fcn.004e14b0
mov rdx, qword [r13 + 0xa0]
test rdx, rdx
je 0x4ea7b9
lea rcx, [r11 + 0xa0]
mov r8, r11
call fcn.004e14b0
mov rdx, qword [r13 + 0xb0]
test rdx, rdx
je 0x4ea7d4
lea rcx, [r11 + 0xb0]
mov r8, r11
call fcn.004e14b0
mov rcx, r13
call fcn.004e4020
mov rcx, r13
call fcn.0052ed18
jmp 0x4ea49f
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], pe_nt_image_headers64
call fcn.004e2680
mov eax, r13d
add rsp, 0x40
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], 4
call fcn.004e2680
jmp 0x4ea32b
mov rax, qword [r12 + 0x18]
mov rcx, r12
mov rax, qword [rax]
mov rdx, qword [rax]
call fcn.004e1f20
jmp 0x4ea46e
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], 8
call fcn.004e2680
mov eax, dword [r12 + 0x300]
test al, 0x10
je 0x4ea4c9
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], 0x10
call fcn.004e2680
mov eax, dword [r12 + 0x300]
test al, 0x20
je 0x4ea4d1
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], 0x20
call fcn.004e2680
mov eax, dword [r12 + 0x300]
test al, 0x40
je 0x4ea4d9
mov rcx, qword [r12 + 0x2f0]
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], 0x40
call fcn.004e2680
jmp 0x4ea4d9
cmp qword [r12 + 0x2f0], 0
jne 0x4ea257
lea rcx, str.HWLOC_FSROOT
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4ea949
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov edx, 1
mov rcx, r12
mov qword [rsp + 0x20], 0
lea r8, [0x00720765]
call fcn.004f0480
cmp qword [r12 + 0x2f0], 0
jne 0x4ea257
lea rcx, [0x0072076b]
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4ea992
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov edx, 1
mov rcx, r12
mov qword [rsp + 0x20], 0
lea r8, [0x0072077c]
call fcn.004f0480
cmp qword [r12 + 0x2f0], 0
jne 0x4ea257
lea rcx, [0x00720780]
call sub.msvcrt.dll_getenv
mov r9, rax
test rax, rax
je 0x4ea9db
lea r8, [0x0071ffec]
mov edx, 1
mov rcx, r12
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.004f0480
cmp qword [r12 + 0x2f0], 0
jne 0x4ea257
lea rcx, [0x00720790]
call sub.msvcrt.dll_getenv
mov r9, rax
test rax, rax
je 0x4ea257
lea r8, [0x0071fff6]
mov edx, 1
mov rcx, r12
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.004f0480
jmp 0x4ea257
cmp eax, 0xf
je 0x4eab48
cmp eax, 0x10
jne 0x4ea49f
mov rax, qword [r13 + 0x28]
cmp dword [rax], 4
je 0x4ea760
jmp 0x4ea49f
lea rcx, str.HWLOC_DONT_ADD_VERSION_INFO
call sub.msvcrt.dll_getenv
test rax, rax
jne 0x4ea5cf
mov rax, qword [r12 + 0x18]
lea r9, [0x0071f866]
lea r8, [0x007208e0]
mov rax, qword [rax]
mov rcx, qword [rax]
lea rdx, [rcx + 0xe0]
add rcx, 0xd8
call fcn.004e5300
mov rcx, r12
call fcn.004f6190
mov r14, rax
test rax, rax
je 0x4ea5cf
mov rax, qword [r12 + 0x18]
mov r9, r14
lea r8, [0x007208ed]
mov rax, qword [rax]
mov rcx, qword [rax]
lea rdx, [rcx + 0xe0]
add rcx, 0xd8
call fcn.004e5300
mov rcx, r14
call fcn.0052ed18
jmp 0x4ea5cf
mov r8d, 0xc99
lea rdx, str.topology.c
lea rcx, str.global_backend
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x4ea641
lea rcx, str.HWLOC_THISSYSTEM_ALLOWED_RESOURCES
call sub.msvcrt.dll_getenv
mov rcx, rax
test rax, rax
je 0x4ea368
call sub.msvcrt.dll_atoi
test eax, eax
je 0x4ea368
mov rax, qword [r12 + 0x280]
jmp 0x4ea357
mov rax, qword [r13 + 0x28]
movzx eax, word [rax + 6]
movzx edx, ah
cmp edx, 0x12
ja 0x4eab70
mov r8d, 0x4080e
bt r8, rdx
jb 0x4ea49f
nop dword [rax + rax]
and eax, 0xfffffffd
cmp ax, 0xc04
je 0x4ea49f
jmp 0x4ea760
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
mov rcx, r12
mov r13d, 0xffffffff
call fcn.004f5080
mov rcx, r12
call fcn.004e8b10
mov rcx, r12
call fcn.004e8380
mov rcx, r12
call fcn.004f03d0
jmp 0x4ea61b
call qword [sym.imp.msvcrt.dll__errno]
mov r13d, 0xffffffff
mov dword [rax], 0x10
jmp 0x4ea61b
mov ecx, 2
call qword [fcn.0052ef40]
mov r8d, 0x33
mov edx, 1
lea rcx, str.Topology_does_not_contain_any_NUMA_node__aborting__n
mov r9, rax
call sub.msvcrt.dll_fwrite
jmp 0x4eab94
mov ecx, 2
call qword [fcn.0052ef40]
mov r8d, 0x2c
mov edx, 1
lea rcx, str.Topology_does_not_contain_any_PU__aborting__n
mov r9, rax
call sub.msvcrt.dll_fwrite
jmp 0x4eab94
mov ecx, 2
call qword [fcn.0052ef40]
mov r8d, 0x21
mov edx, 1
lea rcx, str.Topology_became_empty__aborting__n
mov r9, rax
call sub.msvcrt.dll_fwrite
jmp 0x4eab94