Function at 0x18016f2c0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
mov qword [rbp - 1], 0xfffffffffffffffe
mov r13, rcx
mov dword [rbp - 0x39], 0
call sym.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::constructor_void____ptr64
mov ebx, 1
mov dword [rbp - 0x39], ebx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov qword [rbp - 9], rax
test rax, rax
je 0x18016f7a7
mov r14, rax
mov qword [rbp - 0x21], rax
cmp word [rax], 0
je 0x18016f79e
lea r12, sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
nop word [rax + rax]
mov r15, 0xffffffffffffffff
nop word [rax + rax]
inc r15
cmp word [r14 + r15*2], 0
jne 0x18016f340
mov edx, 0x3d
lea rcx, [r14 + 2]
call sub.VCRUNTIME140.dll_wcschr
mov rsi, rax
test rax, rax
je 0x18016f780
mov rdi, rax
sub rdi, r14
sar rdi, 1
mov r8d, edi
mov rdx, r14
lea rcx, [rbp - 0x31]
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf16_unsigned_short_int_const____ptr64__int_
nop
mov rcx, qword [rax]
mov qword [rbp + 0x7f], rcx
mov qword [rax], r12
or ebx, 0xa
test bl, 4
je 0x18016f3ce
and ebx, 0xfffffffb
mov dword [rbp - 0x39], ebx
mov rax, qword [rbp - 0x19]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f3b9
cmp ecx, 0xffffffff
je 0x18016f3cb
mov ecx, 0xffffffff
mov rax, qword [rbp - 0x19]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f3cb
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x19]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
mov ebx, dword [rbp - 0x39]
and ebx, 0xfffffffd
mov dword [rbp - 0x39], ebx
mov rax, qword [rbp - 0x31]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f3f7
cmp ecx, 0xffffffff
je 0x18016f40a
mov ecx, 0xffffffff
mov rax, qword [rbp - 0x31]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f40a
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x31]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
nop
mov r8d, r15d
sub r8d, edi
dec r8d
lea rdx, [rsi + 2]
lea rcx, [rbp - 0x29]
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf16_unsigned_short_int_const____ptr64__int_
nop
mov rcx, qword [rax]
mov qword [rbp + 0x77], rcx
mov qword [rax], r12
mov eax, dword [rbp - 0x39]
or eax, 0x50
test al, 0x20
je 0x18016f473
and eax, 0xffffffdf
mov dword [rbp - 0x39], eax
mov rax, qword [rbp - 0x11]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f45e
cmp ecx, 0xffffffff
je 0x18016f470
mov ecx, 0xffffffff
mov rax, qword [rbp - 0x11]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f470
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x11]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
mov eax, dword [rbp - 0x39]
and eax, 0xffffffef
mov dword [rbp - 0x39], eax
mov rax, qword [rbp - 0x29]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f49c
cmp ecx, 0xffffffff
je 0x18016f4af
mov ecx, 0xffffffff
mov rax, qword [rbp - 0x29]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f4af
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x29]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
nop
mov rax, qword [r13]
test rax, rax
je 0x18016f4f5
mov eax, dword [rax]
cmp eax, 1
je 0x18016f597
cmp qword [r13], 0
je 0x18016f4f5
mov ecx, 0x10
call fcn.1802e1ac8
mov rbx, rax
mov qword [rbp + 7], rax
mov rdx, qword [r13]
mov dword [rax], 0
lea rcx, [rax + 8]
add rdx, 8
call fcn.18016c9b0
nop
jmp 0x18016f513
mov ecx, 0x10
call fcn.1802e1ac8
mov rbx, rax
mov dword [rax], 0
lea rax, sym.Qt5Core.dll_struct_QMapDataBase_const_QMapDataBase::shared_null
mov qword [rbx + 8], rax
mov eax, 1
lock xadd dword [rbx], eax
mov rcx, qword [r13]
test rcx, rcx
je 0x18016f593
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x18016f593
mov rdi, qword [r13]
test rdi, rdi
je 0x18016f593
mov rcx, qword [rdi + 8]
mov eax, dword [rcx]
test eax, eax
je 0x18016f559
cmp eax, 0xffffffff
je 0x18016f586
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x18016f586
mov rsi, qword [rdi + 8]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18016f57d
call fcn.1801693f0
mov r8d, 8
mov rdx, qword [rsi + 0x10]
mov rcx, rsi
call sym.Qt5Core.dll_public:_void___cdecl_QMapDataBase::freeTree_struct_QMapNodeBase____ptr64__int____ptr64
mov rcx, rsi
call sym.Qt5Core.dll_public:_static_void___cdecl_QMapDataBase::freeData_struct_QMapDataBase____ptr64_
nop
mov edx, 0x10
mov rcx, rdi
call fcn.1802e1b04
mov qword [r13], rbx
mov r14, qword [r13]
mov rax, qword [rbp + 0x7f]
mov qword [rbp + 0x6f], rax
mov ecx, dword [rax]
inc ecx
cmp ecx, 1
jbe 0x18016f5b9
mov ecx, 1
mov rax, qword [rbp + 0x7f]
lock xadd dword [rax], ecx
mov rax, qword [r14 + 8]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x18016f649
call sym.Qt5Core.dll_public:_static_struct_QMapDataBase____ptr64___cdecl_QMapDataBase::createData_void_
mov rdi, rax
mov rdx, qword [r14 + 8]
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x18016f5f8
mov rdx, rax
call fcn.180169270
mov qword [rdi + 0x10], rax
and qword [rax], 3
lea rcx, [rdi + 8]
or qword [rax], rcx
mov rdx, qword [r14 + 8]
mov eax, dword [rdx]
test eax, eax
je 0x18016f611
cmp eax, 0xffffffff
je 0x18016f63d
mov eax, 0xffffffff
lock xadd dword [rdx], eax
cmp eax, 1
jne 0x18016f63d
mov rbx, qword [r14 + 8]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x18016f635
call fcn.1801693f0
mov r8d, 8
mov rdx, qword [rbx + 0x10]
mov rcx, rbx
call sym.Qt5Core.dll_public:_void___cdecl_QMapDataBase::freeTree_struct_QMapNodeBase____ptr64__int____ptr64
mov rcx, rbx
call sym.Qt5Core.dll_public:_static_void___cdecl_QMapDataBase::freeData_struct_QMapDataBase____ptr64_
mov qword [r14 + 8], rdi
mov rcx, rdi
call sym.Qt5Core.dll_public:_void___cdecl_QMapDataBase::recalcMostLeftNode_void____ptr64
mov rax, qword [r14 + 8]
mov rbx, qword [rax + 0x10]
lea r12, [rax + 8]
xor esi, esi
mov dil, 1
test rbx, rbx
je 0x18016f6b7
nop
mov r12, rbx
lea rcx, [rbx + 0x18]
xor r8d, r8d
lea rdx, [rbp + 0x6f]
call sym.Qt5Core.dll_public:_int___cdecl_QString::compare_class_QString_const____ptr64__enum_Qt::CaseSensitivity_const___ptr64
test eax, eax
js 0x18016f683
mov rsi, rbx
mov dil, 1
mov rbx, qword [rbx + 8]
jmp 0x18016f68a
xor dil, dil
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x18016f660
test rsi, rsi
je 0x18016f6b7
lea rdx, [rsi + 0x18]
xor r8d, r8d
lea rcx, [rbp + 0x6f]
call sym.Qt5Core.dll_public:_int___cdecl_QString::compare_class_QString_const____ptr64__enum_Qt::CaseSensitivity_const___ptr64
test eax, eax
js 0x18016f6b7
lea rcx, [rsi + 0x20]
lea rdx, [rbp + 0x77]
call fcn.1800bdab0
jmp 0x18016f6d1
mov byte [rsp + 0x20], dil
mov r9, r12
lea r8, [rbp + 0x77]
lea rdx, [rbp + 0x6f]
mov rcx, qword [r14 + 8]
call fcn.180169330
nop
mov rax, qword [rbp + 0x6f]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f6f4
cmp ecx, 0xffffffff
je 0x18016f707
mov ecx, 0xffffffff
mov rax, qword [rbp + 0x6f]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f707
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp + 0x6f]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
nop
mov rax, qword [rbp + 0x77]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f72a
cmp ecx, 0xffffffff
je 0x18016f73d
mov ecx, 0xffffffff
mov rax, qword [rbp + 0x77]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f73d
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp + 0x77]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
nop
mov rax, qword [rbp + 0x7f]
mov ecx, dword [rax]
test ecx, ecx
je 0x18016f760
cmp ecx, 0xffffffff
je 0x18016f772
mov ecx, 0xffffffff
mov rax, qword [rbp + 0x7f]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18016f772
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp + 0x7f]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
lea r12, sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov r14, qword [rbp - 0x21]
mov ebx, dword [rbp - 0x39]
movsxd rax, r15d
lea r14, [r14 + rax*2]
add r14, 2
mov qword [rbp - 0x21], r14
cmp word [r14], 0
jne 0x18016f330
mov rax, qword [rbp - 9]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, r13
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret