Function at 0x141e16db0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x141f1bb40]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov r14, r8
mov r15, rdx
mov qword [rsp + 0x30], rdx
mov rbx, rcx
mov qword [rsp + 0x20], rdx
xor r12d, r12d
mov dword [rsp + 0x28], r12d
cmp qword [rcx + 0x18], r12
jne 0x141e16e90
mov r9d, 0xb
lea r8, [rsp + 0x70]
mov edx, 0x13
mov ecx, dword [rcx]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x141e16e90
mov r8d, 1
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.141d3e900
nop
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
mov rbp, qword [rax + 0x10]
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x141e16e68
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x141e16e68
mov rcx, qword [rsp + 0x38]
call fcn.141ec82c8
mov rcx, qword [rbx + 8]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], rbp
test rcx, rcx
je 0x141e16e90
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x141e16e90
call fcn.141ec82c8
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x50]
call fcn.141dda060
lea rcx, [rsp + 0x50]
call fcn.141dda4d0
mov rax, qword [rbx + 0x18]
sub rax, 1
je 0x141e16fbb
cmp rax, 1
jne 0x141e17048
mov rax, qword [rbx + 0x10]
movzx ecx, word [rax]
shl ecx, 0xa
movzx esi, word [rax + 2]
add esi, 0xfca02400
add esi, ecx
mov ebx, r12d
mov ebp, 0x3007
mov r13d, 0x2840
mov r12d, 0x3ff
mov r15d, 0x2400
test ebx, ebx
jne 0x141e16ef8
mov ecx, esi
jmp 0x141e16f05
cmp esi, ebp
lea ecx, [rbx + 0x3020]
je 0x141e16f05
lea ecx, [rbx + rsi]
mov eax, ecx
shr eax, 0xa
sub ax, r13w
mov word [rsp + 0x20], ax
and cx, r12w
sub cx, r15w
mov word [rsp + 0x22], cx
mov r8d, 2
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.141d37ba0
mov rdi, rax
lea ecx, [rbx + 0x30]
movzx edx, cl
lea rcx, [rsp + 0x38]
call fcn.141d37cf0
nop
mov r9d, 1
mov r8, rdi
mov rdx, rax
mov rcx, r14
call fcn.141d41a30
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x141e16f81
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x141e16f81
mov rcx, qword [rsp + 0x38]
call fcn.141ec82c8
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x141e16fa3
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x141e16fa3
mov rcx, qword [rsp + 0x70]
call fcn.141ec82c8
inc ebx
cmp ebx, 0xa
jl 0x141e16ef0
mov r15, qword [rsp + 0x30]
xor r12d, r12d
jmp 0x141e17048
mov rax, qword [rbx + 0x10]
movzx ebx, word [rax]
cmp bx, 0x30
je 0x141e17048
mov rax, qword [r14]
test rax, rax
je 0x141e16fdb
mov eax, dword [rax]
cmp eax, 1
jle 0x141e16fed
mov r8d, 1
mov rdx, qword [r14 + 0x10]
mov rcx, r14
call fcn.141d40f90
mov r10, qword [r14 + 8]
mov r9, qword [r14 + 0x10]
mov rdx, r12
test r9, r9
jle 0x141e17048
mov ebp, 0x3007
mov r11d, 0x3020
nop dword [rax + rax]
movzx ecx, word [r10 + rdx*2]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x141e17040
mov r8d, ecx
sub r8d, 0x30
jne 0x141e1702c
movzx ecx, bx
jmp 0x141e1703b
lea eax, [r11 + r8]
lea ecx, [r8 + rbx]
cmp bx, bp
cmove cx, ax
mov word [r10 + rdx*2], cx
inc rdx
cmp rdx, r9
jl 0x141e17010
mov rcx, qword [r14]
mov qword [r15], rcx
mov rcx, qword [r14 + 8]
mov qword [r15 + 8], rcx
mov rcx, qword [r14 + 0x10]
mov qword [r15 + 0x10], rcx
mov qword [r14], r12
mov qword [r14 + 8], r12
mov qword [r14 + 0x10], r12
mov rax, r15
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.141ec2250
mov rbx, qword [rsp + 0xe8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret