Function at 0x14001b1c0
Capabilities:
Get geographical location

Disassembly:
lea r12, [rsp - 0x148]
cmp r12, qword [r14 + 0x10]
jbe 0x14001bf48
sub rsp, 0x1c8
mov qword [rsp + 0x1c0], rbp
lea rbp, [rsp + 0x1c0]
mov eax, 2
lea rcx, [0x140e8e9b8]
xchg dword [rcx], eax
mov eax, dword [0x140e8e9b8]
nop dword [rax]
cmp eax, 1
jne 0x14001b20c
mov eax, 1
jmp 0x14001b212
cmp eax, 2
sete al
mov byte [0x140e8efb4], al
test al, al
je 0x14001b223
mov eax, 1
jmp 0x14001b22a
movzx eax, byte [0x140e8efb5]
mov byte [0x140e8efb0], al
mov rax, qword [0x140e90410]
mov qword [0x140e3a838], rax
nop
nop
call fcn.140069bc0
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [r14 + 0x30]
nop
mov rcx, qword [rsp]
mov qword [rsp + 0x48], rcx
inc dword [rax + 0xd8]
mov rdi, qword [r14 + 0x30]
mov rax, r14
test byte [rax], al
mov qword [rdi + 0xd0], 5
lea rax, [rdi + 0xc8]
mov qword [rsp + 0x1b8], rax
cmp dword [0x140e8efb0], 0
jne 0x14001b2a7
lea rdx, [0x1407caca7]
mov qword [rdi + 0xc8], rdx
jmp 0x14001b2bc
mov rdx, rdi
mov rdi, rax
lea rsi, [0x1407caca7]
call fcn.140067ec0
mov rdi, rdx
mov qword [rsp + 0x190], rdi
mov byte [rdi + 0xf9], 2
mov rax, qword [rdi + 0x90]
mov qword [rsp + 0x1a0], rax
nop
mov byte [rax + 0xb0], 6
mov ebx, 2
mov ecx, 4
call fcn.14003c7a0
movups xmmword [rsp + 0xc8], xmm15
lea rdx, [0x14001bf60]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rdx
lea rdx, [rsp + 0xc8]
mov qword [rsp], rdx
call fcn.140065a40
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
lea rdx, [0x14081a530]
mov qword [rsp], rdx
call fcn.140065a40
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x190]
mov byte [rdx + 0xf9], 0
mov rax, qword [rsp + 0x1a0]
mov ebx, 4
mov ecx, 2
nop dword [rax]
call fcn.14003c7a0
cmp byte [0x140e40b10], 0
je 0x14001b3a7
nop
mov eax, 8
mov rbx, 0xffffffffffffffff
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.140056e20
mov rcx, qword [rsp + 0x190]
mov qword [rcx + 0xd0], 0
cmp dword [0x140e8efb0], 0
jne 0x14001b3d0
mov qword [rcx + 0xc8], 0
jmp 0x14001b3df
mov rdi, qword [rsp + 0x1b8]
xor edx, edx
call fcn.140067e80
cmp dword [0x140e8e9b8], 0
jne 0x14001bf36
mov rax, qword [0x140e904b8]
mov qword [0x140e95d90], rax
lea rax, [0x14081a510]
mov qword [rsp], rax
call fcn.140065a40
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
nop
nop dword [rax]
call fcn.140069bc0
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp]
mov qword [rsp + 0x40], rax
call fcn.140069c80
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp]
mov qword [rsp + 0x58], rax
movsxd rcx, dword [rsp + 8]
mov qword [rsp + 0xc0], rcx
mov rdx, qword [0x140e3a828]
mov rbx, qword [rsp + 0x40]
mov rsi, rbx
sub rbx, rdx
add qword [0x140e3a820], rbx
mov qword [0x140e3a818], rsi
mov rdx, qword [0x140e3a828]
mov rbx, rsi
sub rbx, rdx
lea rax, [0x140e95da0]
call fcn.14000aec0
mov rax, qword [rsp + 0x58]
imul rax, rax, 0x3b9aca00
mov rcx, qword [rsp + 0xc0]
add rax, rcx
lea rcx, [0x140e94d68]
mov rdx, rax
xchg qword [rcx], rax
mov rax, qword [rsp + 0x40]
lea rcx, [0x140e95d88]
mov rbx, rax
xchg qword [rcx], rax
movzx eax, byte [0x140e95d78]
mov rcx, qword [0x140e3a820]
lea rsi, [0x140e94d78]
mov qword [rsi + rax*8], rcx
movzx eax, byte [0x140e95d78]
lea rcx, [0x140e95578]
mov qword [rcx + rax*8], rdx
mov rax, qword [0x140e3a820]
add qword [0x140e94d70], rax
movsxd rax, dword [0x140e3a7f4]
mov rcx, qword [0x140e3a808]
sub rcx, qword [0x140e3a800]
nop
mov rdx, qword [0x140e90468]
nop
mov rsi, qword [0x140e90470]
nop
mov rdi, qword [0x140e90478]
nop
mov r8, qword [0x140e90480]
movsxd r9, dword [0x140e3a7f4]
mov r10, qword [0x140e3a818]
sub r10, qword [0x140e3a810]
nop
mov r11, qword [0x140e8f230]
nop
mov r12, qword [0x140e8f238]
add qword [0x140e3a848], rdx
lea r13, [rdi + rsi]
add qword [0x140e3a850], r13
add qword [0x140e3a858], r8
imul rax, rcx
mov qword [rsp + 0x50], rax
imul r9, r10
mov qword [rsp + 0x70], r9
lea rcx, [rax + r9]
add qword [0x140e3a860], rcx
lea rcx, [rax + rdx]
add rcx, rsi
add rcx, rdi
add rcx, r8
add rcx, r9
add qword [0x140e3a868], rcx
add qword [0x140e3a870], r11
add qword [0x140e3a878], r12
lea rcx, [r12 + r11]
add qword [0x140e3a880], rcx
mov rcx, qword [0x140e3ada8]
sub rbx, rcx
movsxd rcx, dword [0x140e8e9bc]
imul rcx, rbx
add rcx, qword [0x140e3adb0]
mov qword [0x140e3a898], rcx
mov rcx, qword [0x140e3b2d0]
mov rbx, qword [0x140e3a888]
add rcx, rbx
mov qword [0x140e3a888], rcx
mov rbx, qword [0x140e3a898]
mov rsi, qword [0x140e3a868]
add rsi, qword [0x140e3a880]
add rcx, rsi
sub rbx, rcx
mov qword [0x140e3a890], rbx
mov rcx, qword [0x140e3a868]
sub rcx, qword [0x140e3a858]
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mov rcx, qword [0x140e3a898]
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
divsd xmm0, xmm1
movsd qword [0x140e95d80], xmm0
nop
xor ecx, ecx
lea rbx, [0x140e8f230]
xchg qword [rbx], rcx
nop
xor ecx, ecx
lea rbx, [0x140e8f238]
xchg qword [rbx], rcx
nop
xor ecx, ecx
lea rbx, [0x140e3b2d0]
xchg qword [rbx], rcx
mov qword [0x140e39a14], 0
cmp byte [0x140e3a7b8], 0
je 0x14001b6a4
inc dword [0x140e95d7c]
nop
nop
lea rax, [0x140e3a7e0]
call fcn.14000c5c0
inc dword [0x140e95d78]
lea rax, [0x140e3a7e8]
nop
call fcn.140040de0
nop
nop
lea rax, [0x140e3a7e0]
call fcn.14000c7e0
lea rax, [0x140e8f480]
mov rbx, qword [rsp + 0x40]
nop
call fcn.14001d2c0
nop
nop
nop
mov eax, dword [0x140e8e9c0]
mov ecx, eax
shr eax, 1
lea edx, [rax + 1]
mov esi, 0xaaaaaaab
imul rdx, rsi
shr rdx, 0x3a
lea edx, [rdx + rdx*2]
shl edx, 0x19
sub eax, edx
lea edx, [rax + 1]
shl edx, 1
mov eax, ecx
lea rcx, [0x140e8e9c0]
lock cmpxchg dword [rcx], edx
sete cl
nop
test cl, cl
je 0x14001b6e7
nop
mov eax, dword [0x140e39a1c]
mov ecx, eax
and eax, 0x80000000
test eax, eax
jne 0x14001b759
lea edx, [rcx + 1]
mov ebx, eax
mov eax, ecx
lea rsi, [0x140e39a1c]
lock cmpxchg dword [rsi], edx
sete cl
test cl, cl
je 0x14001b724
mov ecx, dword [0x140e60d18]
test ebx, ebx
jmp 0x14001b760
mov ecx, dword [0x140e60d18]
nop
jne 0x14001bf25
mov dword [rsp + 0x2c], ecx
sete al
mov byte [rsp + 0x2b], al
lea rcx, [0x14081a538]
mov qword [rsp], rcx
nop dword [rax]
call fcn.140065a40
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
call fcn.14002ec60
nop dword [rax]
call fcn.140027560
lea rax, [0x14081a4f8]
mov qword [rsp], rax
call fcn.140065a40
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
lea rax, [0x14081a548]
mov qword [rsp], rax
call fcn.140065a40
xorps xmm15, xmm15
mov r14, qword [0x140e8ec90]
mov r14, qword gs:[r14]
mov r14, qword [r14]
lea rax, [0x140e39a1c]
mov ebx, dword [rsp + 0x2c]
movzx ecx, byte [rsp + 0x2b]
call fcn.140024de0
cmp dword [0x140e8f43c], 0
jle 0x14001bdf7
movsd xmm0, qword [0x1408cdcf8]
mulsd xmm0, qword [0x140e95d80]
movsd qword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xd8], xmm15
movups xmmword [rsp + 0xe0], xmm15
call fcn.140039c00
mov rax, qword [0x140e3a800]
sub rax, qword [0x140e8ec58]
mov rcx, rax
movabs rax, 0x8637bd05af6c69b6
mul rcx
shr rdx, 0x13
mov eax, 0x17
jmp 0x14001b867
mov rax, rsi
cmp rdx, 0xa
jae 0x14001b873
cmp rax, 0x14
jl 0x14001b8c3
mov rcx, rax
movabs rax, 0xcccccccccccccccd
mov rbx, rdx
mul rdx
shr rdx, 3
lea rsi, [rdx + rdx*4]
shl rsi, 1
sub rbx, rsi
cmp rcx, 0x18
jae 0x14001bf14
lea rsi, [rbx + 0x30]
mov byte [rsp + rcx + 0xd8], sil
lea rsi, [rcx - 1]
cmp rcx, 0x15
jne 0x14001b864
mov byte [rsp + rcx + 0xd7], 0x2e
mov esi, 0x13
jmp 0x14001b864
cmp rax, 0x18
jae 0x14001bf0a
add rdx, 0x30
mov byte [rsp + rax + 0xd8], dl
mov edx, dword [0x140e95d78]
mov qword [rsp + 0xb0], rdx
lea rcx, [rax - 0x18]
mov rsi, rcx
sar rcx, 0x3f
and rax, rcx
lea rbx, [rsp + rax + 0xd8]
neg rsi
lea rax, [rsp + 0x148]
mov rcx, rsi
call fcn.140050240
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0xa8], rbx
nop
call fcn.140039c00
lea rax, [0x1407c59f0]
mov ebx, 3
call fcn.14003a500
mov rax, qword [rsp + 0xb0]
nop
call fcn.14003a200
lea rax, [0x1407c4d1e]
mov ebx, 2
call fcn.14003a500
mov rax, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xa8]
call fcn.14003a500
lea rax, [0x1407c50bc]
mov ebx, 2
call fcn.14003a500
movsd xmm0, qword [rsp + 0xb8]
cvttsd2si rax, xmm0
call fcn.14003a300
lea rax, [0x1407c5249]
mov ebx, 3
nop dword [rax + rax]
call fcn.14003a500
call fcn.140039c80
mov rdx, qword [0x140e3a800]
movups xmmword [rsp + 0xf0], xmm15
movups xmmword [rsp + 0xf8], xmm15
mov rsi, qword [0x140e3a808]
mov qword [rsp + 0xf0], rsi
mov rsi, qword [0x140e3a810]
mov qword [rsp + 0xf8], rsi
mov rsi, qword [0x140e3a818]
mov qword [rsp + 0x100], rsi
xor eax, eax
jmp 0x14001ba60
sub rdi, rdx
lea rax, [rsp + 0xd8]
mov ebx, 0x18
mov rcx, rbx
call fcn.14001cfe0
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x128]
call fcn.140050240
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0xa8], rbx
call fcn.140039c00
mov rax, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xa8]
call fcn.14003a500
call fcn.140039c80
mov rax, qword [rsp + 0x80]
inc rax
mov rdx, qword [rsp + 0x60]
nop
cmp rax, 3
jge 0x14001bac0
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + rax*8 + 0xf0]
mov qword [rsp + 0x60], rdi
nop dword [rax + rax]
test rax, rax
je 0x14001b9f4
mov qword [rsp + 0xc0], rdx
call fcn.140039c00
lea rax, [0x1408cbbd0]
mov ebx, 1
call fcn.14003a500
call fcn.140039c80
mov rdx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x60]
jmp 0x14001b9f4
call fcn.140039c00
lea rax, [0x1407d204f]
mov ebx, 0xb
call fcn.14003a500
call fcn.140039c80
nop
mov rax, qword [0x140e90468]
mov rcx, qword [0x140e90470]
mov rdx, qword [0x140e90478]
nop
mov rbx, qword [0x140e90480]
movups xmmword [rsp + 0x168], xmm15
movups xmmword [rsp + 0x170], xmm15
movups xmmword [rsp + 0x180], xmm15
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], rax
lea rax, [rdx + rcx]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rbx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x188], rax
xor eax, eax
jmp 0x14001bbb2
lea rax, [rsp + 0xd8]
mov ebx, 0x18
mov rcx, rbx
nop
call fcn.14001cfe0
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x108]
call fcn.140050240
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0xa8], rbx
call fcn.140039c00
mov rax, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xa8]
nop dword [rax]
call fcn.14003a500
call fcn.140039c80
mov rax, qword [rsp + 0x78]
inc rax
cmp rax, 5
jge 0x14001bc34
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + rax*8 + 0x168]
mov qword [rsp + 0x68], rdi
cmp rax, 2
je 0x14001bbd6
cmp rax, 3
jne 0x14001bc00
call fcn.140039c00
lea rax, [0x1407c4d08]
mov ebx, 1
call fcn.14003a500
call fcn.140039c80
mov rdi, qword [rsp + 0x68]
jmp 0x14001bb4e
test rax, rax
je 0x14001bb4e
call fcn.140039c00
lea rax, [0x1408cbbd0]
mov ebx, 1
call fcn.14003a500
nop
call fcn.140039c80
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x68]
jmp 0x14001bb4e
mov rax, qword [0x140e90428]
mov qword [rsp + 0x38], rax
mov rcx, qword [0x140e90438]
mov qword [rsp + 0x30], rcx
mov rdx, qword [0x140e3a830]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [0x140e3a838]
mov qword [rsp + 0xa0], rbx
mov rsi, qword [0x140e3a840]
mov qword [rsp + 0x98], rsi
mov rdi, qword [0x140e90408]
mov qword [rsp + 0x90], rdi
movsxd r8, dword [0x140e3a7f8]
mov qword [rsp + 0xc0], r8
call fcn.140039c00
lea rax, [0x1407d0956]
mov ebx, 9
call fcn.14003a500
mov rax, qword [rsp + 0xb0]
shr rax, 0x14
call fcn.14003a200
lea rax, [0x1407c4d68]
mov ebx, 2
call fcn.14003a500
mov rax, qword [rsp + 0xa0]
shr rax, 0x14
nop dword [rax + rax]
call fcn.14003a200
lea rax, [0x1407c4d68]
mov ebx, 2
call fcn.14003a500
mov rax, qword [rsp + 0x98]
shr rax, 0x14
call fcn.14003a200
lea rax, [0x1407c69c7]
mov ebx, 5
call fcn.14003a500
mov rax, qword [rsp + 0x90]
shr rax, 0x14
call fcn.14003a200
lea rax, [0x1407d1446]
mov ebx, 0xa
call fcn.14003a500
mov rax, qword [rsp + 0x38]
shr rax, 0x14
call fcn.14003a200
lea rax, [0x1407d2a98]
mov ebx, 0xc
call fcn.14003a500
mov rax, qword [rsp + 0x30]
shr rax, 0x14
call fcn.14003a200
lea rax, [0x1407d369b]
mov ebx, 0xd
call fcn.14003a500
mov rax, qword [rsp + 0xc0]
call fcn.14003a300
lea rax, [0x1407c4d20]
mov ebx, 2
call fcn.14003a500
call fcn.140039c80
cmp byte [0x140e3a7b8], 0
je 0x14001bdc0
call fcn.140039c00
lea rax, [0x1407d08f3]
mov ebx, 9
call fcn.14003a500
call fcn.140039c80
nop
call fcn.140039c00
call fcn.140039e60
call fcn.140039c80
mov rax, qword [r14 + 0x30]
nop
movzx ecx, byte [rax + 0xe7]
lea edx, [rcx - 1]
mov byte [rax + 0xe7], dl
cmp cl, 1
jne 0x14001bdf7
nop
nop
lea rax, [0x140e8eb80]
call fcn.14000c7e0
nop
nop
lea rax, [0x140e39d40]
call fcn.14000c5c0
mov rcx, qword [0x140e39d60]
mov qword [rsp + 0x198], rcx
mov rdx, qword [0x140e39d68]
mov qword [rsp + 0x88], rdx
movups xmmword [0x140e39d68], xmm15
cmp dword [0x140e8efb0], 0
jne 0x14001be42
mov qword [0x140e39d60], 0
nop
jmp 0x14001be50
lea rdi, [0x140e39d60]
xor ebx, ebx
call fcn.140067ea0
nop
nop
lea rax, [0x140e39d40]
call fcn.14000c7e0
mov rcx, qword [rsp + 0x198]
xor eax, eax
jmp 0x14001be9c
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x1a8], rcx
mov rax, qword [rcx]
nop dword [rax]
call fcn.140004e80
mov rcx, qword [rsp + 0x1a8]
add rcx, 0x10
mov rax, qword [rsp + 0xa8]
inc rax
mov rdx, qword [rsp + 0x88]
cmp rax, rdx
jl 0x14001be6a
nop
lea rax, [0x14063a16c]
xor ebx, ebx
xor ecx, ecx
call fcn.14004a6e0
nop
lea rax, [0x14063a160]
xor ebx, ebx
xor ecx, ecx
call fcn.14004a6e0
nop
mov rdx, qword [rsp + 0x190]
mov esi, dword [rdx + 0xd8]
lea edi, [rsi - 1]
mov dword [rdx + 0xd8], edi
cmp esi, 1
jne 0x14001befa
cmp byte [r14 + 0xb1], 0
je 0x14001befa
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
mov ecx, 0x18
call fcn.140068200
mov rax, rcx
mov ecx, 0x18
nop dword [rax]
call fcn.140068200
lea rax, [0x1407df2fa]
mov ebx, 0x1b
call fcn.1400382c0
lea rax, [0x1407e124b]
mov ebx, 0x1d
call fcn.1400382c0
nop
call fcn.140065b80
jmp fcn.14001b1c0