Function at 0x140007570
Capabilities:
Check mutex on windows
Get session user name
Query environment variable
Query or enumerate registry value

Disassembly:
push rdi
sub rsp, 0x5c0
mov rax, qword [0x140046088]
xor rax, rsp
mov qword [rsp + 0x5b0], rax
mov rdi, rcx
lea r8, str.QAAgent_94DA2F74_5ED7_494C_A85C_97C3977803E5
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400078a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x1400078a0
mov r9d, 0x64
mov qword [rsp + 0x5d8], rbx
lea r8, [0x140048e90]
mov qword [rsp + 0x5e0], rbp
mov rcx, rdi
lea edx, [r9 + 4]
call qword [sym.imp.USER32.dll_LoadStringW]
mov r9d, 0x64
lea r8, [0x140048dc0]
mov rcx, rdi
lea edx, [r9 + 0xf]
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, rdi
call fcn.1400078b0
xor ebp, ebp
lea r8, [0x140048e90]
mov qword [rsp + 0x30], rbp
lea rdx, str.SOFTWAREOEMQuick_AccessLog
mov qword [rsp + 0x28], rbp
mov r9d, 0xffff
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rbp
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x14000778a
xor edx, edx
mov qword [rsp + 0x5e8], rsi
mov r8d, 0x208
lea rcx, [rsp + 0x190]
call fcn.14000f120
xor edx, edx
lea rcx, [rsp + 0x3a0]
mov r8d, 0x208
call fcn.14000f120
mov r8d, 0x104
mov dword [rsp + 0x70], 0x208
lea rdx, [rsp + 0x190]
lea rcx, str.PROGRAMDATA
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea rax, [rsp + 0x3a0]
lea rsi, [0x14003ec08]
mov qword [rsp + 0x28], rsi
lea r9, str.OEMQuick_AccessLog
lea r8, [rsp + 0x190]
mov qword [rsp + 0x20], rax
lea rdx, str._s_s_s__s.log
lea rcx, [rsp + 0x190]
call fcn.1400011f0
lea ecx, [rbp + 0x38]
call fcn.14000c004
mov rbx, rax
lea rcx, [rsp + 0x80]
xor eax, eax
xor edx, edx
mov r8d, 0x104
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
lea rax, [rsp + 0x190]
mov qword [rbx], rax
mov qword [rbx + 8], rsi
call fcn.14000f120
mov qword [rsp + 0x38], rbp
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rbp
lea r8, [rsp + 0x190]
mov dword [rsp + 0x28], 0x104
or r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, [rsp + 0x80]
call qword [sym.imp.imagehlp.dll_MakeSureDirectoryPathExists]
lea rcx, [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rsi, qword [rsp + 0x5e8]
mov qword [0x140048b90], rbx
call fcn.140007d90
mov r8d, 0x104
mov byte [0x140048b2c], al
lea rdx, [0x140048bb0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [0x140048bb0]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov rcx, rdi
call fcn.140007960
mov rbp, qword [rsp + 0x5e0]
test eax, eax
jne 0x1400077ec
mov rbx, qword [rsp + 0x5d8]
mov rcx, qword [rsp + 0x5b0]
xor rcx, rsp
call fcn.14000ba00
add rsp, 0x5c0
pop rdi
ret
xor r8d, r8d
lea rdx, [0x140046b88]
lea rcx, [0x140048ba8]
call qword [sym.imp.gdiplus.dll_GdiplusStartup]
mov edx, 0x73
mov rcx, rdi
call qword [sym.imp.USER32.dll_LoadAcceleratorsW]
xor r9d, r9d
lea rcx, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov rbx, rax
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x140007874
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov rdx, rbx
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x14000785d
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
lea rcx, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x140007830
mov rcx, qword [0x140048ba8]
call qword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov rcx, qword [0x140048b98]
test rcx, rcx
je 0x140007897
mov edx, 0x210
call fcn.14000c040
mov eax, dword [rsp + 0x50]
jmp 0x1400077cb
xor eax, eax
jmp 0x1400077d3