Function at 0x180002940
Capabilities:
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 - 0x100]
sub rsp, 0x200
lea rax, str.SoftwareHaye_CosqNoqotApp
mov qword [rbp - 0x38], rax
xor edi, edi
mov dword [rbp + 0x128], edi
mov dword [rbp + 0x138], 4
lea rax, [rbp - 0x60]
mov qword [rbp - 0x40], rax
mov dword [rbp + 0x120], 0x20019
mov dword [rbp + 0x130], edi
mov qword [rbp - 0x70], 0xffffffff80000001
mov rax, qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
add rax, 0x179
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], 0x179
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x120]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x130]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.18000d310
test eax, eax
jne 0x180002c67
lea rax, [rbp + 0x138]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x128]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.LastLoox
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebx, eax
mov rcx, qword [sym.imp.ADVAPI32.dll_RegCloseKey]
add rcx, 0x262
mov qword [rbp - 0x70], rcx
mov dword [rbp - 0x68], 0x262
xor eax, eax
mov word [rsp + 0x40], ax
mov byte [rsp + 0x42], al
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
mov ecx, 0x10
call fcn.18004268c
mov qword [rax + 8], rdi
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
mov qword [rax], rcx
mov word [rsp + 0x78], di
mov qword [rsp + 0x7e], rdi
mov qword [rbp - 0x7a], rdi
xor eax, eax
mov word [rsp + 0x7b], ax
mov byte [rsp + 0x7d], al
mov word [rsp + 0x7e], ax
mov byte [rbp - 0x80], al
mov word [rbp - 0x7f], ax
mov byte [rbp - 0x7d], al
mov word [rbp - 0x7c], ax
mov byte [rbp - 0x7a], al
mov word [rbp - 0x79], ax
mov byte [rbp - 0x77], al
mov word [rbp - 0x76], ax
mov byte [rbp - 0x74], al
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x74], edi
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x40]
call fcn.180011210
nop
lea rcx, [rsp + 0x48]
call fcn.180011a80
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdi
mov edx, 0x10
call fcn.1800425a0
test ebx, ebx
jne 0x180002c55
cmp dword [0x1800d2574], 0xa3b3e6e7
jne 0x180002c44
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesEx]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InterlockedPushEntrySList]
xor edx, edx
lea rcx, str.FoL497VJX1NiEkF
call qword [sym.imp.KERNEL32.dll_LoadPackagedLibrary]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
lea rax, str.DRoI58RG4xBFt7rbSFG
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, str.5svaY8A5oM8opd5zJXkrNmE1cDolu
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNLSString]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnterSynchronizationBarrier]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNamedPipeInfo]
mov qword [rsp + 0x30], rdi
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_FindFirstFileTransactedW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DebugBreakProcess]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadIdealProcessor]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddSecureMemoryCacheCallback]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapWalk]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
xor eax, eax
lock cmpxchg dword [rdi], edi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCommConfig]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_BackupRead]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
mov eax, dword [rbp + 0x128]
add rsp, 0x200
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 0x180002d39
mov rax, qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add rax, 0x12f
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], 0x12f
xor eax, eax
mov word [rsp + 0x40], ax
mov byte [rsp + 0x42], al
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
mov ecx, 0x10
call fcn.18004268c
mov qword [rax + 8], rdi
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
mov qword [rax], rcx
mov word [rsp + 0x78], di
mov qword [rsp + 0x7e], rdi
mov qword [rbp - 0x7a], rdi
xor eax, eax
mov word [rsp + 0x7b], ax
mov byte [rsp + 0x7d], al
mov word [rsp + 0x7e], ax
mov byte [rbp - 0x80], al
mov word [rbp - 0x7f], ax
mov byte [rbp - 0x7d], al
mov word [rbp - 0x7c], ax
mov byte [rbp - 0x7a], al
mov word [rbp - 0x79], ax
mov byte [rbp - 0x77], al
mov word [rbp - 0x76], ax
mov byte [rbp - 0x74], al
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x74], edi
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x40]
call fcn.180010fe0
nop
lea rcx, [rsp + 0x48]
call fcn.180011a80
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdi
mov edx, 0x10
call fcn.1800425a0
lea r9, [rbp - 0x10]
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x20]
lea rcx, [0x1800730e0]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x180002d73
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]
call fcn.1800010f0
xor eax, eax
add rsp, 0x200
pop rdi
pop rbx
pop rbp
ret