Function at 0x14001f8dc
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
lea r12, [rcx + 0x18]
mov r14, rcx
mov rcx, r12
lea rdx, str.upd:Update_upd:LocalizedPropertiesCollection
call fcn.14001cdec
xor r13d, r13d
mov rbx, rax
test rax, rax
jne 0x14001f92a
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x38], r13
call fcn.14002faa0
mov edi, 0x17
mov qword [rsp + 0x30], rax
mov r8d, edi
lea rdx, str.upd:LocalizedProperties
mov rcx, rbx
call fcn.14001565c
lea r15, [0x140063614]
jmp 0x14001fa01
mov r8d, 0xc
lea rdx, str.upd:Language
mov rcx, rbx
call fcn.14001565c
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14001f980
mov rcx, qword [rax + 0x18]
jmp 0x14001f983
mov rcx, r13
test rdx, rdx
mov qword [rsp + 0x50], rcx
mov rax, r15
mov qword [rsp + 0x48], r13
cmovne rax, rdx
mov qword [rsp + 0x58], r13
movups xmm1, xmmword [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x40]
movups xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x60], r13
lea rcx, [rsp + 0x30]
movups xmmword [rbp - 0x30], xmm1
mov qword [rbp - 0x18], rbx
movups xmmword [rbp - 0x40], xmm0
movsd xmm0, qword [rsp + 0x60]
movsd qword [rbp - 0x20], xmm0
call fcn.1400324f0
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x30]
lea r9, [rax + 0x20]
call fcn.140032540
mov r8, rdi
lea rdx, str.upd:LocalizedProperties
mov rcx, rbx
call fcn.1400155d0
mov rbx, rax
test rax, rax
jne 0x14001f95c
call fcn.140001b5c
mov rcx, rax
test rax, rax
je 0x14001fcb9
mov rax, qword [rax]
call qword [rax + 0x18]
mov ecx, 1
mov edi, 0x55
lea rbx, [rax + 0x18]
mov qword [rbp + 0x50], rbx
mov eax, dword [rbx - 0xc]
sub ecx, dword [rbx - 8]
sub eax, edi
or ecx, eax
jge 0x14001fa51
mov edx, edi
lea rcx, [rbp + 0x50]
call fcn.1400020a8
mov rbx, qword [rbp + 0x50]
mov rax, qword [r14 + 8]
mov r9d, edi
mov r8, rbx
mov edx, 0x59
mov rcx, qword [rax + 0x10]
movzx ecx, word [rcx + 8]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov rcx, qword [rbp + 0x50]
movsxd rdx, dword [rcx - 0xc]
call fcn.1400462c0
test eax, eax
js 0x14001fcc4
mov rcx, qword [rbp + 0x50]
cmp eax, dword [rcx - 0xc]
jg 0x14001fcc4
mov dword [rcx - 0x10], eax
mov edx, 0x2d
movsxd rcx, eax
mov rax, qword [rbp + 0x50]
mov word [rax + rcx*2], r13w
lea rcx, [rbp + 0x50]
mov rax, qword [rbp + 0x50]
movsxd rsi, dword [rax - 0x10]
call fcn.14001a668
mov rax, qword [rbp + 0x50]
mov edx, 0x5a
sub edi, dword [rax - 0x10]
movsxd rax, dword [rax - 0x10]
mov r9d, edi
lea r8, [rbx + rax*2]
mov rax, qword [r14 + 8]
mov rcx, qword [rax + 0x10]
movzx ecx, word [rcx + 8]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov rcx, qword [rbp + 0x50]
movsxd rdx, dword [rcx - 0xc]
call fcn.1400462c0
test eax, eax
js 0x14001fcc4
mov rcx, qword [rbp + 0x50]
cmp eax, dword [rcx - 0xc]
jg 0x14001fcc4
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbp + 0x50]
mov word [rax + rcx*2], r13w
lea rcx, [rbp + 0x50]
call fcn.14001ae60
or r14, 0xffffffffffffffff
mov rdx, qword [rax]
test rdx, rdx
je 0x14001fb33
mov rax, r14
inc rax
cmp word [rdx + rax*2], r13w
jne 0x14001fb27
jmp 0x14001fb36
mov eax, r13d
mov r8d, eax
lea rcx, [rbp + 0x58]
call fcn.14001d558
mov rbx, qword [rbp + 0x58]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x40], rbx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], r13
movsxd rax, dword [rbx - 0x10]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], r13
call fcn.14002d890
mov rax, qword [rax]
cmp rax, qword [rsp + 0x30]
jne 0x14001fc61
test esi, esi
js 0x14001fcc4
cmp esi, dword [rbx - 0xc]
jg 0x14001fcc4
mov dword [rbx - 0x10], esi
lea r8, [rsp + 0x68]
mov byte [rsi + rbx], r13b
lea rdx, [rbp + 0x68]
movsxd rax, dword [rbx - 0x10]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], r13
call fcn.14002d890
mov rax, qword [rax]
cmp rax, qword [rsp + 0x30]
jne 0x14001fc61
lea rdx, str.upd:Update_upd:Properties
mov rcx, r12
call fcn.14001cdec
test rax, rax
je 0x14001fc54
mov r8d, 0x19
lea rdx, str.DefaultPropertiesLanguage
mov rcx, rax
call fcn.140014c40
test rax, rax
je 0x14001fc54
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14001fc15
mov rdx, qword [rax + 0x18]
jmp 0x14001fc18
mov rdx, r13
test rcx, rcx
mov qword [rbp - 0x60], rdx
lea r8, [rbp - 0x70]
mov qword [rbp - 0x68], r13
cmovne r15, rcx
mov qword [rbp - 0x58], r13
lea rcx, [rsp + 0x30]
mov qword [rbp - 0x70], r15
lea rdx, [rbp - 0x48]
mov qword [rbp - 0x50], r13
call fcn.14002d890
mov rcx, qword [rsp + 0x30]
mov rax, qword [rax]
cmp rax, rcx
je 0x14001fc59
jmp 0x14001fc61
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
cmp rax, rcx
je 0x14001fc67
mov rdi, qword [rax + 0x48]
jmp 0x14001fc6a
mov rdi, r13
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14001fc86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x50]
mov ecx, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ecx
add ecx, r14d
test ecx, ecx
jg 0x14001fca7
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
lea rcx, [rsp + 0x30]
call fcn.14002d920
mov rax, rdi
jmp 0x14001f916
mov ecx, 0x80004005
call fcn.140002198
int3
mov ecx, 0x80070057
call fcn.140002198
int3