Function at 0x67136950
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x672970e8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
push edi
mov eax, dword [0x674c7008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], 0
mov edi, dword [ebp + 8]
mov dword [edi], 0
mov dword [ebp - 4], 0
mov ebx, 1
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x67136d1a
cmp word [eax], 0
mov esi, eax
mov dword [ebp - 0x20], eax
je 0x67136d13
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x671369c0
sub ecx, edx
lea eax, [esi + 2]
sar ecx, 1
push 0x3d
push eax
mov dword [ebp - 0x38], ecx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edi, eax
add esp, 8
test edi, edi
je 0x67136cf7
mov ecx, dword [ebp - 0x20]
mov esi, edi
sub esi, ecx
sar esi, 1
mov eax, esi
jns 0x67136a08
xor eax, eax
cmp word [ecx], ax
je 0x67136a08
nop
inc eax
cmp word [ecx + eax*2], 0
jne 0x67136a00
push 0
add eax, eax
mov edx, ecx
push 0
push eax
lea ecx, [ebp - 0x14]
call fcn.671e2a80
add esp, 0xc
or ebx, 0x10
mov eax, dword [ebp - 0x14]
or ebx, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov dword [ebp - 0x10], ebx
test bl, 4
je 0x67136a6e
mov eax, dword [ebp - 0x48]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
mov ecx, dword [eax]
test ecx, ecx
je 0x67136a5a
cmp ecx, 0xffffffff
je 0x67136a6b
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne cl
test cl, cl
jne 0x67136a6b
cmp eax, 0x674c7cb4
je 0x67136a6b
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ebx, dword [ebp - 0x10]
test bl, 2
je 0x67136ab0
mov eax, dword [ebp - 0x14]
and ebx, 0xfffffffd
mov dword [ebp - 0x10], ebx
mov eax, dword [eax]
test eax, eax
je 0x67136a99
cmp eax, 0xffffffff
je 0x67136aad
mov eax, dword [ebp - 0x14]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67136aad
mov eax, dword [ebp - 0x14]
cmp eax, 0x674c7cb4
je 0x67136aad
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
lea edx, [edi + 2]
sub eax, esi
mov dword [ebp - 4], 2
dec eax
test edx, edx
jne 0x67136acb
mov esi, sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
jmp 0x67136af3
test eax, eax
jns 0x67136ade
xor eax, eax
cmp word [edx], ax
je 0x67136ade
inc eax
cmp word [edx + eax*2], 0
jne 0x67136ad6
push 0
add eax, eax
lea ecx, [ebp - 0x18]
push 0
push eax
call fcn.671e2a80
mov esi, dword [ebp - 0x18]
add esp, 0xc
or ebx, 0x200
or ebx, 0x140
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x18], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov dword [ebp - 0x10], ebx
test bl, bl
jns 0x67136b51
mov eax, dword [ebp - 0x4c]
and ebx, 0xffffff7f
mov dword [ebp - 0x10], ebx
mov ecx, dword [eax]
test ecx, ecx
je 0x67136b36
cmp ecx, 0xffffffff
je 0x67136b4e
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne cl
test cl, cl
jne 0x67136b4e
cmp eax, 0x674c7cb4
je 0x67136b4e
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push eax
call edi
mov ebx, dword [ebp - 0x10]
add esp, 4
jmp 0x67136b57
mov ebx, dword [ebp - 0x10]
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [ebp - 4], 2
test bl, 0x40
je 0x67136b99
mov eax, dword [ebp - 0x18]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
mov eax, dword [eax]
test eax, eax
je 0x67136b89
cmp eax, 0xffffffff
je 0x67136b99
mov eax, dword [ebp - 0x18]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x67136b99
mov eax, dword [ebp - 0x18]
cmp eax, 0x674c7cb4
je 0x67136b99
push eax
call edi
add esp, 4
mov byte [ebp - 4], 4
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.67131c60
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], ebx
mov eax, dword [eax]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edi
test eax, eax
je 0x67136bc9
cmp eax, 0xffffffff
je 0x67136bc9
lock inc dword [edi]
mov ecx, ebx
mov byte [ebp - 4], 5
call fcn.67136380
mov eax, dword [ebx]
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x28], 1
mov ebx, dword [eax + 0xc]
add eax, 8
test ebx, ebx
je 0x67136c4a
mov edi, dword [ebp - 0x24]
nop
push 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], ebx
push eax
lea ecx, [ebx + 0xc]
call sym.Qt5Core.dll_public:_int___thiscall_QString::compare_class_QString_const___enum_Qt::CaseSensitivity_const
test eax, eax
js 0x67136c10
mov edi, ebx
mov byte [ebp - 0x28], 1
mov ebx, dword [ebx + 4]
jmp 0x67136c17
mov ebx, dword [ebx + 8]
mov byte [ebp - 0x28], 0
test ebx, ebx
jne 0x67136bf0
mov dword [ebp - 0x24], edi
test edi, edi
mov edi, dword [ebp - 0x3c]
je 0x67136c47
push ebx
mov ebx, dword [ebp - 0x24]
lea ecx, [ebp - 0x2c]
lea eax, [ebx + 0xc]
push eax
call sym.Qt5Core.dll_public:_int___thiscall_QString::compare_class_QString_const___enum_Qt::CaseSensitivity_const
test eax, eax
js 0x67136c47
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx + 0x10]
call fcn.670329e0
jmp 0x67136c60
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ecx]
lea eax, [ebp - 0x2c]
push eax
call fcn.671362f0
mov ecx, dword [edi]
mov eax, dword [ebp - 0x1c]
test ecx, ecx
je 0x67136c7d
cmp ecx, 0xffffffff
je 0x67136c92
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne cl
test cl, cl
jne 0x67136c92
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp eax, 0x674c7cb4
je 0x67136c98
push eax
call ebx
add esp, 4
jmp 0x67136c98
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esi]
test eax, eax
je 0x67136cb2
cmp eax, 0xffffffff
je 0x67136cc0
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
setne al
test al, al
jne 0x67136cc0
cmp esi, 0x674c7cb4
je 0x67136cc0
push esi
call ebx
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
test ecx, ecx
je 0x67136ce4
cmp ecx, 0xffffffff
je 0x67136cf1
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne cl
test cl, cl
jne 0x67136cf1
cmp eax, 0x674c7cb4
je 0x67136cf1
push eax
call ebx
add esp, 4
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
lea esi, [esi + eax*2]
add esi, 2
mov dword [ebp - 0x20], esi
cmp word [esi], 0
jne 0x671369b7
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret