Function at 0x10006a434
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
sub rsp, 0x100
mov rax, qword [0x1000de138]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov r9, qword [rsp + 0x148]
xor ebp, ebp
mov rdi, rdx
lea r12d, [rbp + 1]
xor r8d, r8d
mov rsi, rcx
mov edx, r12d
mov qword [rcx + 0xb8], rbp
mov qword [rcx + 8], rbp
mov qword [rcx + 0xc8], rbp
mov word [rcx + 0xd2], bp
mov qword [rcx + 0xc0], rbp
mov qword [rcx + 0xd8], rbp
mov byte [rcx + 0xe0], bpl
mov byte [rcx + 0xe1], bpl
mov dword [rcx + 0xe4], ebp
call fcn.10005a314
cmp eax, ebp
mov ebx, eax
jl 0x10006a5d9
xor ecx, ecx
mov dword [rsp + 0x80], 0x50
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rbx, [0x100010838]
lea r8, [rsp + 0x80]
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.USER32.dll_GetClassInfoExW]
cmp eax, ebp
jne 0x10006a588
lea r8d, [rbp + 0x50]
lea rcx, [rsp + 0x80]
xor edx, edx
call sub.msvcrt.dll_memset
xor ecx, ecx
mov dword [rsp + 0x80], 0x50
mov dword [rsp + 0x84], 0x4000
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x7f00
xor ecx, ecx
mov qword [rsp + 0x98], rax
call qword [sym.imp.USER32.dll_LoadCursorW]
xor ecx, ecx
mov qword [rsp + 0xa8], rax
call qword [sym.imp.GDI32.dll_GetStockObject]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0xb0], rax
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x94], 8
call qword [sym.imp.USER32.dll_RegisterClassExW]
cmp ax, bp
je 0x10006a5d4
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x58], rbp
mov r9d, 0x46000000
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rsi + 0xb8], rax
cmp rax, rbp
jne 0x10006a641
mov ebx, 0x800403e9
mov rcx, qword [rsi + 0xb8]
call sub.wmpdui.dll_DisableContainerHwnd
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbp
je 0x10006a5fe
call qword [sym.imp.USER32.dll_DestroyWindow]
mov qword [rsi + 0xb8], rbp
mov rcx, qword [rsi + 0xc8]
cmp rcx, rbp
je 0x10006a617
call qword [sym.imp.GDI32.dll_DeleteObject]
mov qword [rsi + 0xc8], rbp
mov eax, ebx
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1000cd7d0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret
lea r8, [0x10006bcd0]
mov edx, 0xfffffffc
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, qword [rsi + 0xb8]
mov r8, rsi
xor edx, edx
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x129
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 0xb8]
mov ebx, 0xffffffec
mov edx, ebx
mov word [rsi + 0xd2], ax
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
bt rax, 0x16
jae 0x10006a6cf
mov rcx, qword [rsi + 0xb8]
mov edx, ebx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov rcx, qword [rsi + 0xb8]
mov edx, ebx
btr rax, 0x16
mov r8, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov edx, r12d
mov rcx, rsi
call fcn.10006a39c
mov eax, dword [0x1000dee40]
cmp eax, 0xffffffff
jne 0x10006a72f
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov dword [0x1000dee40], ebp
cmp ax, bp
je 0x10006a765
mov r9d, 0x10
lea r8, [rsp + 0xd0]
movzx ecx, ax
lea edx, [r9 + 0x48]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebp
je 0x10006a729
mov eax, 0x800
test word [rsp + 0xde], ax
mov eax, dword [0x1000dee40]
cmovne eax, r12d
mov dword [0x1000dee40], eax
jmp 0x10006a72f
mov eax, dword [0x1000dee40]
cmp eax, r12d
jne 0x10006a765
mov edx, r12d
mov rcx, rsi
call fcn.10006a39c
mov rcx, qword [rsi + 0xb8]
mov edx, ebx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov rcx, qword [rsi + 0xb8]
mov edx, ebx
btr rax, 0x16
mov r8, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, qword [rsi + 0xb8]
lea r8, [0x10005dc08]
mov r9, rsi
mov edx, r12d
call sub.wmpdui.dll_CreateGadget
mov qword [rsi + 8], rax
cmp rax, rbp
jne 0x10006a794
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x10006a5d9
xor edx, edx
mov rcx, rax
lea r9d, [rdx + 0x7f]
lea r8d, [rdx + 0x1d]
call sub.wmpdui.dll_SetGadgetMessageFilter
mov rcx, qword [rsi + 8]
mov edx, 0x809
mov r8d, 0xe2b
call sub.wmpdui.dll_SetGadgetStyle
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov edx, 0x26
mov rcx, rax
mov rdi, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov rdx, rdi
bt eax, 8
setb bl
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp bl, bpl
je 0x10006a823
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov rbx, rax
call qword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov rdx, rbx
xor ecx, ecx
mov qword [rsi + 0xc8], rax
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp qword [rsi + 0xc8], rbp
jne 0x10006a823
mov ebx, 0x80040002
jmp 0x10006a5d9
mov ebx, 0x20
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8, rbx
call sub.msvcrt.dll_memset
mov rax, qword [rsi + 0xc8]
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x64], 6
mov dword [rsp + 0x6c], ebp
call sub.wmpdui.dll_SetGadgetRootInfo
or byte [rsi + 0x8b], 8
lea ecx, [rbx - 0x16]
call fcn.100058780
mov rbx, rax
cmp rax, rbp
je 0x10006a8c4
lea rdx, [0x1000084f0]
mov r9, rax
mov r8d, r12d
mov rcx, rsi
mov byte [rsp + 0x20], bpl
call fcn.100056298
mov r11d, dword [rbx]
mov ecx, r11d
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x10006a8c4
mov eax, r11d
not r11d
and eax, 0xffffff80
and r11d, 0x7f
sub eax, r12d
xor eax, r11d
mov dword [rbx], eax
test eax, 0xffffff80
jne 0x10006a8c4
mov rcx, rbx
call fcn.100059224
xor eax, eax
jmp 0x10006a619