Function at 0x1000727e4
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbp, rcx
lea rcx, [0x1000c2120]
mov rax, qword [0x1000c2120]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x14b
mov rcx, qword [rbp + 0x198]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, 0xb1
lea rcx, [rsp + 0x90]
call fcn.10002c01c
xor r14d, r14d
cmp eax, r14d
jl 0x100072872
mov r9, qword [rsp + 0x90]
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rbp + 0x198]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 2
lea r8, [rsp + 0x88]
mov edx, 0x100c
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rcx, [rsp + 0x88]
call qword [sym.imp.msvcrt.dll__wtoi]
mov dword [rbp + 0x4d0], eax
mov ebx, r14d
or r15, 0xffffffffffffffff
mov eax, dword [rbp + 0x4d0]
lea ecx, [rbx + rax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 7
sub ecx, edx
lea r13d, [rcx + 0x2a]
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movsxd r12, eax
cmp r12d, r14d
jle 0x100072944
mov eax, 2
mul r12
cmovo rax, r15
lea rdx, [0x1000c6b58]
mov rcx, rax
call fcn.10001a99c
mov rsi, rax
cmp rax, r14
je 0x100072944
mov r9d, r12d
mov r8, rax
mov edx, r13d
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov r9, rsi
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rbp + 0x198]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
mov r12d, 1
add ebx, r12d
cmp ebx, 7
jl 0x1000728ab
lea rcx, [rbp + 0x198]
call fcn.10005b338
mov ebx, eax
lea ecx, [r12 + 0x2c]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ebx, [rbx + rax*2]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15f
mov rcx, qword [rbp + 0x198]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r13d, 0x160
cmp eax, ebx
jge 0x1000729aa
mov r8d, ebx
xor r9d, r9d
mov edx, r13d
mov rcx, qword [rbp + 0x198]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x14b
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov word [rsp + 0x38], r14w
mov word [rsp + 0x3a], r14w
mov word [rsp + 0x3c], r14w
mov word [rsp + 0x3e], r14w
mov esi, 0x18
lea rcx, [0x1000c2120]
mov rax, qword [0x1000c2120]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
mov r8d, 2
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x30]
call fcn.10002ddb8
mov rbx, qword [rsp + 0x98]
mov r9, rbx
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.USER32.dll_SendMessageW]
add word [rsp + 0x38], r12w
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
cmp eax, r14d
jg 0x100072a62
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
sub rsi, r12
jne 0x1000729ea
lea rcx, [rbp + 0x238]
call fcn.10005b338
mov ebx, eax
mov esi, 0x2d
mov ecx, esi
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ebx, [rbx + rax*2]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15f
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebx
jge 0x100072ab7
mov r8d, ebx
xor r9d, r9d
mov edx, r13d
mov rcx, qword [rbp + 0x238]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x14b
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, 0x6a
lea rcx, [rsp + 0x90]
call fcn.10002c01c
cmp eax, r14d
jl 0x100072b03
mov r9, qword [rsp + 0x90]
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, 0x69
lea rcx, [rsp + 0x90]
call fcn.10002c01c
cmp eax, r14d
jl 0x100072b37
mov r9, qword [rsp + 0x90]
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbp + 0x2d8]
call fcn.10005b338
mov ebx, eax
mov ecx, esi
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ebx, [rbx + rax*2]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15f
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebx
jge 0x100072b82
mov r8d, ebx
xor r9d, r9d
mov edx, r13d
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [0x1000c6ba0]
cmp dword [rax + 0x5c6c], r14d
jne 0x100072c8e
xor r9d, r9d
xor r8d, r8d
mov edx, 0x14b
mov rcx, qword [rbp + 0x3d0]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [0x1000c2120]
mov rax, qword [0x1000c2120]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov edx, 0x1392
lea rcx, [rsp + 0x20]
call fcn.10002c01c
mov rbx, qword [rsp + 0x20]
cmp eax, r14d
jl 0x100072c21
mov edi, r12d
mov r8d, edi
mov rdx, rbx
lea rcx, [rsp + 0x90]
call fcn.10002bf10
cmp eax, r14d
jl 0x100072c19
mov r9, qword [rsp + 0x90]
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rbp + 0x3d0]
call qword [sym.imp.USER32.dll_SendMessageW]
add edi, r12d
cmp edi, 0xc
jle 0x100072be4
lea rcx, [rbp + 0x3d0]
call fcn.10005b338
mov edi, eax
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea edi, [rdi + rax*2]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15f
mov rcx, qword [rbp + 0x3d0]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
jge 0x100072c70
mov r8d, edi
xor r9d, r9d
mov edx, r13d
mov rcx, qword [rbp + 0x3d0]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
cmp eax, r14d
jg 0x100072c8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
cmp eax, r14d
jg 0x100072cb3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret