Function at 0x140002a50
Capabilities:
Get geographical location

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1080
call fcn.140289b90
sub rsp, rax
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov qword [rsp + Ordinal_4291], rbx
mov qword [rsp + Ordinal_4299], rsi
mov rax, qword [0x140462840]
xor rax, rsp
mov qword [rsp + 0x1070], rax
mov r15, rdx
mov r14, rcx
xor r13d, r13d
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x78], r13
lea rcx, str.kPreferences
mov rax, qword [0x1404672c0]
call qword [rax + 0x1190]
mov rbx, rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
xor r8d, r8d
lea edx, [r13 + 7]
lea ecx, [rdx - 6]
mov rax, qword [0x1404672c0]
call qword [rax + 0xac0]
test eax, eax
je 0x140002af0
xor al, al
jmp 0x140002e34
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x520]
call fcn.14018e540
nop
lea rcx, [rsp + 0xc0]
call fcn.140192dd0
nop
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0xc0]
call fcn.140192e20
test al, al
jne 0x140002b4c
lea rcx, [rsp + 0xc0]
call fcn.140192e10
nop
lea rcx, [rsp + 0x520]
call fcn.14018e600
xor al, al
jmp 0x140002e34
lea rcx, [rsp + 0xa40]
call fcn.14018e5a0
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rdx, str.kPrefSpellCheckDefaultLanguage
mov rcx, rbx
call fcn.140191d70
mov rdx, rax
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_1498]
lea rdx, [0x1402d20f0]
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_2861]
test eax, eax
jne 0x140002bc3
lea rdx, str.en_US
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_1498]
or r12, 0xffffffffffffffff
nop word [rax + rax]
lea rdx, [rsp + 0xa40]
lea rcx, [rsp + 0xc0]
call fcn.140192f90
cmp al, 1
jne 0x140002de4
mov dword [rsp + 0x50], r13d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xa40]
call fcn.14018fed0
test al, al
je 0x140002bd0
cmp dword [rsp + 0x50], 0x14
jne 0x140002bd0
mov edx, Ordinal_261
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_4855]
mov rdx, rax
lea rcx, [rsp + 0xa40]
call fcn.14018fc20
mov edx, r12d
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_12110]
mov edx, 0x2e
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_12433]
cmp eax, 0xffffffff
je 0x140002c86
mov r8d, eax
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_7940]
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1496]
nop
lea rcx, [rsp + 0x80]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.mfc120u.dll_Ordinal_280]
mov rcx, rax
call fcn.1400026f0
mov edi, eax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movsxd rbx, eax
test edi, edi
je 0x140002bd0
test eax, eax
jle 0x140002bd0
mov eax, 2
mul rbx
cmovo rax, r12
mov rcx, rax
call sub.mfc120u.dll_Ordinal_265
mov rsi, rax
movups xmm0, xmmword [str.kPrefSpellCheckEnabledLanguage_]
movaps xmmword [rsp + 0xf60], xmm0
movups xmm1, xmmword [0x1402d2320]
movaps xmmword [rsp + Ordinal_3954], xmm1
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1636]
mov rdx, rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc120u.dll_Ordinal_306]
mov r9, qword [rax]
lea rdx, [rsp + 0xf60]
dec rdx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140002d24
xor r8d, r8d
movzx eax, byte [r9 + r8]
mov byte [rdx + r8], al
lea r8, [r8 + 1]
test al, al
jne 0x140002d30
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc120u.dll_Ordinal_1031]
mov r9d, ebx
mov r8, rsi
mov edx, 2
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc120u.dll_Ordinal_1498]
mov rcx, rsi
call sub.mfc120u.dll_Ordinal_266
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1636]
mov rdx, rax
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_2861]
test eax, eax
sete bl
lea rax, [rsp + 0x68]
mov qword [rsp + 0x90], rax
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x68]
call qword [sym.imp.mfc120u.dll_Ordinal_280]
mov rdi, rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc120u.dll_Ordinal_280]
nop
mov qword [rsp + 0x20], r15
movzx r9d, bl
mov r8b, 1
mov rdx, rdi
mov rcx, rax
call r14
test al, al
jne 0x140002bd0
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0xa40]
call fcn.14018e600
nop
lea rcx, [rsp + 0xc0]
call fcn.140192e10
nop
lea rcx, [rsp + 0x520]
call fcn.14018e600
nop
mov al, 1
mov rcx, qword [rsp + 0x1070]
xor rcx, rsp
call fcn.140289bf0
lea r11, [rsp + 0x1080]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret