Function at 0x180002960
Capabilities:
Get disk size
Get geographical location
Manipulate console buffer
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, 0x234
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], 0x234
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.18000cf70
test eax, eax
jne 0x180002c2d
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, 0x126
mov qword [rbp - 0x70], rcx
mov dword [rbp - 0x68], 0x126
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.18004421c
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.180010ca0
nop
lea rcx, [rsp + 0x48]
call fcn.1800114d0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdi
mov edx, 0x10
call fcn.180044130
test ebx, ebx
jne 0x180002c1b
cmp dword [0x1800d3574], 0xca894fc4
jne 0x180002c0a
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_ReplaceFileW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetConsoleAliasExesW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNamedPipeClientSessionId]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
xor edx, edx
lea rcx, str.LpdgaDpYTFDaEh1cjexTOGR6O5t
call qword [sym.imp.KERNEL32.dll_LoadPackagedLibrary]
mov qword [rsp + 0x20], rdi
mov r9d, dword [rbp + 0x128]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ReadConsoleOutputCharacterW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetThreadGroupAffinity]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalHandle]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetUserGeoID]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNextVolumeW]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.dEcqnNmm8l754W8c7ujv
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileMUIPath]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
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 0x180002cff
mov rax, qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add rax, 0x23f
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], 0x23f
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.18004421c
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.180010ab0
nop
lea rcx, [rsp + 0x48]
call fcn.1800114d0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdi
mov edx, 0x10
call fcn.180044130
lea r9, [rbp - 0x10]
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x20]
lea rcx, [0x180074018]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x180002d39
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