Function at 0x180002950
Capabilities:
Create pipe
Get common file path
Get disk size
Identify system language via api
Print debug messages
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x130]
sub rsp, 0x230
lea rax, str.SoftwareHaye_CosqNoqotApp
mov qword [rbp - 0x40], rax
xor edi, edi
mov dword [rbp + 0x150], edi
mov dword [rsp + 0x40], 4
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rax
mov dword [rbp + 0x160], 0x20019
mov dword [rbp + 0x168], edi
mov qword [rbp - 0x38], 0xffffffff80000001
mov rax, qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
add rax, 0x189
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 0x189
xor eax, eax
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
mov ecx, 0x10
call fcn.18004296c
mov qword [rax + 8], rdi
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
mov qword [rax], rcx
mov word [rbp - 0x70], di
mov qword [rbp - 0x6a], rdi
mov qword [rbp - 0x62], rdi
xor eax, eax
mov word [rbp - 0x6d], ax
mov byte [rbp - 0x6b], al
mov word [rbp - 0x6a], ax
mov byte [rbp - 0x68], al
mov word [rbp - 0x67], ax
mov byte [rbp - 0x65], al
mov word [rbp - 0x64], ax
mov byte [rbp - 0x62], al
mov word [rbp - 0x61], ax
mov byte [rbp - 0x5f], al
mov word [rbp - 0x5e], ax
mov byte [rbp - 0x5c], al
mov dword [rbp - 0x74], edi
mov dword [rsp + 0x5c], edi
lea rcx, [rsp + 0x50]
call fcn.180018590
test al, al
je 0x180002a7f
lea rdx, [rbp + 0x158]
lea rcx, [rsp + 0x50]
call fcn.180018720
mov byte [rbp - 0x70], dil
lea rcx, [rsp + 0x50]
mov qword [rbp - 0x28], rcx
and al, 1
mov byte [rbp - 0x20], al
mov dl, 1
lea rcx, [rbp - 0x28]
call fcn.18000fd20
lea rcx, [rsp + 0x50]
call fcn.18001b8c0
lea rax, [rsp + 0x50]
mov qword [rbp + 0x158], rax
lea rdx, [rbp + 0x158]
call fcn.180012810
mov byte [rbp + 0x158], 0
mov r8b, 1
lea rdx, [rbp + 0x158]
lea rcx, [rsp + 0x50]
call fcn.180018180
mov byte [rbp + 0x158], 0
mov r8b, 1
lea rdx, [rbp + 0x158]
lea rcx, [rsp + 0x50]
call fcn.180018250
mov byte [rbp + 0x158], 0
mov r8b, 1
lea rdx, [rbp + 0x158]
lea rcx, [rsp + 0x50]
call fcn.1800183f0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 8], xmm0
lea rax, [rbp - 0x48]
mov qword [rbp + 8], rax
lea rax, [rbp + 0x160]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x168]
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x20], rax
lea rax, [rbp - 0x38]
mov qword [rbp + 0x28], rax
mov r8b, 1
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x50]
call fcn.1800184c0
mov ebx, dword [rsp + 0x54]
lea rcx, [rsp + 0x60]
call fcn.18000fc20
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x60], rdi
mov edx, 0x10
call fcn.180042880
test ebx, ebx
jne 0x180002d1c
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.LastLoox
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebx, eax
mov rcx, qword [sym.imp.ADVAPI32.dll_RegCloseKey]
add rcx, 0x132
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x38], 0x132
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call fcn.18000cf30
test ebx, ebx
jne 0x180002d0d
cmp dword [0x1800d1574], 0x9fc3587d
jne 0x180002cfc
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeleteTimerQueue]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesTransactedW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreatePipe]
call qword [sym.imp.KERNEL32.dll_GetACP]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumTimeFormatsW]
xor r8d, r8d
xor edx, edx
lea rcx, str.U6vu26Ye878jI9dizNrv2J9s8qy
call qword [sym.imp.KERNEL32.dll_OpenFile]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetTimeFormatW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumSystemGeoID]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RemoveVectoredContinueHandler]
call qword [sym.imp.KERNEL32.dll_GetErrorMode]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ResetWriteWatch]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ApplicationRecoveryInProgress]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessShutdownParameters]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_BackupSeek]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDynamicTimeZoneInformation]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ClearCommError]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindAtomW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
mov eax, dword [rbp + 0x150]
add rsp, 0x230
pop rdi
pop rbx
pop rbp
ret
lea rcx, str.Value_does_not_exist_or_error_reading_value.
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x180002d4b
mov rax, qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add rax, 0x202
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 0x202
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.18000d0b0
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x10]
lea rcx, [0x180072ef8]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x180002d85
mov r9, qword [rbp - 0x30]
shr r9, 0x14
lea r8, str.Total_disk_space_on_C:_is__lu_MB.
mov edx, 0x100
lea rcx, [rbp + 0x30]
call fcn.1800010f0
xor eax, eax
add rsp, 0x230
pop rdi
pop rbx
pop rbp
ret