Function at 0x140001708
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4f8
movaps xmmword [rsp + 0x4e0], xmm6
mov rsi, rcx
cmp byte [rdx], 0x15
jne 0x1400021ec
mov qword [rsp + 0x28], rsi
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
shl rdx, 6
add rdx, rax
lea r8, [rsp + 0x120]
mov qword [r8], rax
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rdx
mov byte [r8 - 0x20], 0x16
and qword [r8 + 0x20], 0
lea rcx, [rsp + 0x2f8]
and qword [rcx - 8], 0
lea rcx, [rsp + 0x178]
and qword [rcx - 8], 0
lea rcx, [rsp + 0x1c8]
mov qword [rcx], 8
xorps xmm6, xmm6
movups xmmword [rcx + 8], xmm6
lea r14, [rsp + 0x1ff]
lea rbp, [rsp + 0x149]
mov r12b, 2
mov dword [rsp + 0x3c], 2
mov byte [rsp + 0x27], 2
xor edi, edi
xor ecx, ecx
mov qword [rsp + 0x48], rcx
xor r13d, r13d
mov cl, 0x1c
test rax, rax
je 0x1400019b3
mov rax, qword [rsp + 0x130]
cmp rax, qword [rsp + 0x138]
je 0x1400019b3
lea rdx, [rax + 0x40]
mov qword [rsp + 0x130], rdx
movzx esi, byte [rax]
cmp esi, 0x16
je 0x1400019b3
movups xmm0, xmmword [rax + 1]
movups xmm1, xmmword [rax + 0x11]
movups xmm2, xmmword [rax + 0x21]
movups xmm3, xmmword [rax + 0x30]
movups xmmword [rsp + 0x20f], xmm3
movaps xmmword [rsp + 0x200], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [rax + 1]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rsp + 0xa1]
movups xmmword [rax + 0xf], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x70], xmm1
jo 0x140001862
sub dword [rsp + 0x60], eax
inc qword [rsp + 0x140]
lea rcx, [rsp + 0x100]
call fcn.140060ddc
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov byte [rsp + 0xa0], sil
and al, 0xa0
add byte [rax], al
add bh, bh
invalid
cmp esi, 0xe
ja case.0x1400018a7.2
lea rcx, [0x1403166c0]
movsxd rax, dword [rcx + rsi*4]
add rax, rcx
jmp rax
invalid
mov al, byte [rsp + 0xa1]
mov byte [rsp + 0x1e0], 1
mov byte [rsp + 0x1e1], al
jmp 0x140001968
mov rax, qword [rsp + 0xa8]
mov byte [rsp + 0x1e0], 4
mov qword [rsp + 0x1e8], rax
jmp 0x140001968
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb8]
lea rcx, [rsp + 0x1e0]
mov word [rax + riz*8], fs
add dword [rax], eax
add al, ch
lodsb al, byte [rsi]
mov dh, 3
add bl, ch
invalid
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0x1e0]
call fcn.14003cb03
jmp 0x140001968
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb8]
lea rcx, [rsp + 0x1e0]
call fcn.14003c6f7
lea rcx, [rsp + 0xa8]
call fcn.1400eb7d6
jmp 0x140001975
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0x1e0]
call fcn.14003cbf2
lea rcx, [rsp + 0xa0]
call fcn.1400636b5
invalid
mov cl, byte [rsp + 0x1e0]
cmp cl, 0x1c
je 0x1400021d0
mov eax, dword [r14 - 0x1e]
mov edx, dword [r14 - 0x1b]
mov dword [rsp + 0x57], edx
mov dword [rsp + 0x54], eax
mov rbx, qword [rsp + 0x1e8]
movups xmm0, xmmword [r14 - 0xf]
movaps xmmword [rsp + 0x180], xmm0
cmp cl, 0x1d
je 0x1400021d8
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x57]
mov dword [rbp + 3], edx
mov dword [rbp], eax
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rbp + 0xf], xmm0
mov byte [rsp + 0x148], cl
mov qword [rsp + 0x150], rbx
cmp cl, 0x1c
je case.default.0x140001a06
lea eax, [rcx - 0x16]
movzx eax, al
cmp al, 6
mov edx, 6
cmovae eax, edx
movzx eax, al
lea rdx, [0x1403166fc]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
test r13, r13
jne 0x14000233c
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x100], 0x16
lea rsi, [rsp + 0x1e0]
mov rcx, rsi
lea r13, [rsp + 0xa0]
mov rdx, r13
call fcn.140066690
mov rcx, r13
mov rdx, rsi
call fcn.14006cbd3
cmp qword [rsp + 0xa0], 0
add byte [rax], al
add byte [rax], al
jne 0x1400022bd
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x1c0], rax
mov r13d, 1
jmp 0x140001edf
test rdi, rdi
mov qword [rsp + 0x30], rdi
jne 0x14000234f
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x100], 0x16
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0x60]
call fcn.140066690
movzx edi, byte [rsp + 0x180]
cmp rdi, 0x10
je 0x140001aeb
cmp edi, 0x11
je 0x140001d51
cmp edi, 0x12
jne 0x140001d99
movaps xmmword [rsp + 0x1e0], xmm6
jmp 0x140001d84
cmp qword [rsp + 0x48], 0
jne 0x14000235d
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x1e0], xmm0
mov byte [rsp + 0x100], 0x16
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x1e0]
call fcn.140066690
movzx r14d, byte [rsp + 0xa0]
cmp r14, 0x10
je 0x140001e32
cmp r14d, 0x11
je 0x140001e3d
mov eax, 0
mov qword [rsp + 0x40], rax
mov esi, 0
cmp r14d, 0x12
je 0x140001e8b
add byte [rax], al
lea rcx, [rsp + 0xa0]
call fcn.14007f826
mov rsi, rax
mov qword [rsp + 0x40], rdx
jmp 0x140001e9e
cmp dword [rsp + 0x3c], 2
jne 0x140002370
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xb0], xmm1
and al, 0xb0
add byte [rax], al
add byte [rdi], cl
sub dword [rsp + 0xa0], eax
mov byte [rsp + 0x100], 0x16
lea rsi, [rsp + 0x1e0]
mov rcx, rsi
lea rdx, [rsp + 0xa0]
call fcn.140066690
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.14008e314
cmp dword [rsp + 0x60], 0
add byte [rdi], cl
test ebx, ebx
invalid
add byte [rax], al
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x5c], eax
jmp 0x140001edf
cmp r12b, 2
jne 0x140002383
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x100]
call fcn.140066ec1
cmp byte [rsp + 0x1e0], 0
jne 0x1400021be
mov r12b, byte [rsp + 0x1e1]
jmp 0x140001edf
cmp byte [rsp + 0x27], 2
jne 0x140002396
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x100]
call fcn.140066ec1
cmp byte [rsp + 0x1e0], 0
jne 0x1400021be
mov al, byte [rsp + 0x1e1]
mov byte [rsp + 0x27], al
jmp 0x140001edf
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0xf]
lea rax, [rsp + 0x181]
movups xmmword [rax + 0xf], xmm1
movups xmmword [rax], xmm0
mov byte [rsp + 0x180], cl
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x100], 0x16
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0xa0]
call fcn.140066690
mov al, byte [rsp + 0x60]
cmp al, 0x16
je 0x1400022a1
lea r8, [rsp + 0x61]
mov ecx, dword [r8]
mov edx, dword [r8 + 3]
mov dword [r14 + 5], edx
mov dword [r14 + 2], ecx
mov rcx, qword [rsp + 0x68]
movups xmm0, xmmword [r8 + 0xf]
movups xmmword [r14 + 0x11], xmm0
movups xmm0, xmmword [rsp + 0x180]
movups xmm1, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1f0], xmm1
mov byte [rsp + 0x200], al
mov qword [rsp + 0x208], rcx
lea rcx, [rsp + 0x1c8]
lea rdx, [rsp + 0x1e0]
call fcn.1400681a8
jmp 0x140001edf
mov rsi, qword [rsp + 0x188]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x60]
call fcn.14007ddf6
mov rcx, rsi
call fcn.140060a0f
cmp dil, 0x11
je 0x140001dae
lea rcx, [rsp + 0x180]
call fcn.1400636b5
jmp 0x140001dae
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x180]
call fcn.14007ddf6
cmp qword [rsp + 0x1e0], 0
mov r14, qword [rsp + 0x1e8]
jne 0x1400023af
mov ecx, 0xb
mov r15d, r12d
mov r12, r13
lea r13, [rsp + 0xa0]
mov rdi, r13
lea rsi, [rsp + 0x1f0]
rep movsq qword [rdi], qword [rsi]
lea rcx, [rsp + 0x2f0]
call fcn.1400609ce
mov qword [rsp + 0x2f0], 1
mov qword [rsp + 0x2f8], r14
mov ecx, 0xb
lea rdi, [rsp + 0x300]
mov rsi, r13
mov r13, r12
mov r12d, r15d
rep movsq qword [rdi], qword [rsi]
mov edi, 1
lea r14, [rsp + 0x1ff]
jmp 0x140001edf
xor eax, eax
mov qword [rsp + 0x40], rax
xor esi, esi
jmp 0x140001e8b
mov r15d, r12d
mov r12, r13
mov r13, rdi
mov rdi, qword [rsp + 0xa8]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x1e0], xmm0
lea rcx, [rsp + 0x1e0]
call fcn.14007f826
mov rsi, rax
mov qword [rsp + 0x40], rdx
mov rcx, rdi
mov rdi, r13
mov r13, r12
mov r12d, r15d
call fcn.140060a0f
cmp r14b, 0x11
je 0x140001e9e
lea rcx, [rsp + 0xa0]
call fcn.1400636b5
lea r14, [rsp + 0x1ff]
test rsi, rsi
jne 0x1400022de
lea rcx, [rsp + 0x170]
call fcn.14006107c
mov qword [rsp + 0x170], 1
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x178], rax
mov eax, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x120]
jmp 0x1400017c4
lea rcx, [rsp + 0x148]
call fcn.1400618c6
test r13, r13
mov qword [rsp + 0x30], rdi
je 0x1400022ed
test rdi, rdi
setne bl
mov r15, qword [rsp + 0x28]
mov r14d, r12d
je 0x140001f31
lea rdi, [rsp + 0xa0]
mov ecx, 0xc
lea rsi, [rsp + 0x2f8]
rep movsq qword [rdi], qword [rsi]
jmp 0x140001f3a
and qword [rsp + 0xa0], 0
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
test rax, rax
cmove rbp, rax
setne dil
mov qword [rsp + 0x60], rbp
mov rdx, qword [rsp + 0x1c8]
mov r8, qword [rsp + 0x1d8]
lea rsi, [rsp + 0x1e0]
mov rcx, rsi
call fcn.140019f93
mov r12, qword [rsi]
cmp r12, 5
jne 0x140001fa1
mov r14, qword [rsp + 0x1e8]
lea rcx, [rsp + 0x60]
call fcn.14006082e
lea rcx, [rsp + 0xa0]
call fcn.140065095
jmp 0x1400023b8
xor ebx, ebx
mov eax, dword [rsp + 0x3c]
cmp eax, 2
mov qword [rsp + 0x40], rbp
mov ebp, dword [rsp + 0x5c]
cmove ebp, ebx
cmove eax, ebx
mov dword [rsp + 0x3c], eax
mov r13b, byte [rsp + 0x27]
and r13b, 1
and r14b, 1
lea rdx, [rsp + 0x1f0]
mov rax, qword [rdx - 8]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x368]
mov r8d, 0xf8
call fcn.1402698b0
lea r15, [rsp + 0x470]
lea rsi, [rsp + 0xa0]
mov ecx, 0xc
mov rdi, r15
rep movsq qword [rdi], qword [rsi]
lea rcx, [rsp + 0x1c8]
call fcn.14006169a
mov eax, dword [rsp + 0x16a]
mov dword [r15 + 0x6a], eax
movzx eax, word [rsp + 0x16e]
mov word [r15 + 0x6e], ax
lea rcx, [rsp + 0x368]
mov qword [rcx - 0x10], r12
mov rax, qword [rsp + 0x48]
mov qword [rcx - 8], rax
mov eax, dword [rsp + 0x3c]
mov dword [r15 - 0x10], eax
mov dword [r15 - 0xc], ebp
mov rax, qword [rsp + 0x1c0]
mov qword [r15 - 8], rax
mov rax, qword [rsp + 0x40]
mov qword [r15 + 0x60], rax
mov byte [r15 + 0x68], r14b
mov byte [r15 + 0x69], r13b
lea rax, [rsp + 0x2f0]
lea rsi, [rsp + 0x100]
mov ecx, 9
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1400021e5
mov qword [rsp + 0x148], rax
movups xmm0, xmmword [rsp + 0x318]
movups xmmword [rsp + 0x150], xmm0
mov rbx, qword [rsp + 0x328]
mov qword [rsp + 0x160], rbx
mov rax, qword [rsp + 0x158]
lea r14, [rsp + 0x80]
lea r15, [rsp + 0xc0]
lea rdi, [rsp + 0x1e8]
xor esi, esi
cmp rax, rbx
je 0x140002213
lea r12, [rax + 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x1b0], xmm3
movaps xmmword [rsp + 0x1a0], xmm2
movaps xmmword [rsp + 0x190], xmm1
cmp byte [rsp + 0x180], 0x16
je 0x140002225
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0xd0], xmm3
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
mov qword [rsp + 0x1e0], rsi
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x30], xmm3
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
inc rsi
mov rcx, rdi
call fcn.140060724
mov rax, r12
jmp 0x1400020de
mov qword [rsp + 0x30], rdi
mov r14, qword [rsp + 0x1e8]
jmp 0x1400023af
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x30], rdi
mov r14, rbx
jmp 0x1400023af
mov rdi, qword [rsp + 0x28]
jmp 0x140002257
lea r8, [0x140273e30]
lea rax, [rsp + 0x60]
mov rcx, rdx
mov rdx, rax
call fcn.14026d2f1
mov qword [rsi + 8], rax
mov qword [rsi], 5
jmp 0x140002429
mov qword [rsp + 0x158], rbx
mov byte [rsp + 0x180], 0x16
jmp 0x14000222d
mov qword [rsp + 0x158], r12
mov rdi, qword [rsp + 0x28]
lea rcx, [rsp + 0x180]
call fcn.140061037
lea rcx, [rsp + 0x148]
call fcn.14006140e
test rsi, rsi
jne 0x14000230f
xor ebx, ebx
lea rcx, [rsp + 0x2f0]
call fcn.140060ddc
test rbx, rbx
je 0x140002286
mov qword [rdi + 8], rbx
mov qword [rdi], 5
lea rcx, [rsp + 0x358]
call fcn.140062dd4
jmp 0x140002429
lea rdx, [rsp + 0x358]
mov r8d, 0x188
mov rcx, rdi
call fcn.1402698b0
jmp 0x140002429
mov qword [rsp + 0x30], rdi
mov r14, qword [rsp + 0x68]
lea rcx, [rsp + 0x180]
call fcn.1400636b5
jmp 0x1400023af
mov qword [rsp + 0x30], rdi
mov r14, qword [rsp + 0xa8]
jmp 0x1400023af
mov qword [rsp + 0x30], rdi
mov r14, qword [rsp + 0x68]
jmp 0x1400023af
mov qword [rsp + 0x30], rdi
mov r14, qword [rsp + 0x40]
jmp 0x1400023af
lea rcx, [0x1402e88d2]
mov edx, 2
call fcn.14026d161
mov r14, rax
xor edi, edi
xor ebx, ebx
mov r15, qword [rsp + 0x28]
jmp 0x1400023b8
mov rax, qword [rsp + 0x330]
add rsi, rax
lea rdx, [rsp + 0x1e0]
mov qword [rdx], rax
lea r8, [0x14027bef0]
mov rcx, rsi
call fcn.14026d1b7
mov rbx, rax
jmp 0x140002257
mov qword [rsp + 0x30], rdi
lea rcx, [0x1402e88d2]
mov edx, 2
jmp 0x1400023a7
lea rcx, [0x1402e877e]
mov edx, 5
jmp 0x1400023a7
mov qword [rsp + 0x30], rdi
lea rcx, [0x1402e8901]
mov edx, 0xe
jmp 0x1400023a7
mov qword [rsp + 0x30], rdi
lea rcx, [0x1402e890f]
mov edx, 0x18
jmp 0x1400023a7
mov qword [rsp + 0x30], rdi
lea rcx, [0x1402e8927]
mov edx, 0x12
jmp 0x1400023a7
mov qword [rsp + 0x30], rdi
lea rcx, [0x1402e8939]
mov edx, 0x20
call fcn.14026d227
mov r14, rax
mov r15, qword [rsp + 0x28]
xor edi, edi
xor ebx, ebx
lea rcx, [rsp + 0x1c8]
call fcn.14006169a
test dil, dil
jne 0x1400023df
cmp qword [rsp + 0x48], 0
je 0x1400023df
lea rcx, [rsp + 0x178]
call fcn.14006082e
cmp qword [rsp + 0x30], 0
sete al
or bl, al
jne 0x1400023f9
lea rcx, [rsp + 0x2f8]
call fcn.140065095
mov qword [r15 + 8], r14
mov qword [r15], 5
cmp qword [rsp + 0x120], 0
je 0x14000241c
lea rcx, [rsp + 0x120]
call fcn.14006140e
lea rcx, [rsp + 0x100]
call fcn.140060ddc
movaps xmm6, xmmword [rsp + 0x4e0]
add rsp, 0x4f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x1402746b8]
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x60]
call fcn.14026d2f1
mov rbx, rax
jmp 0x1400021d8
sub esp, 0xf8
xor dword [rax], eax
or al, 0x88
mov byte [rax + 1], cl
sar edi, 0xe1
jmp rcx
add ebx, ebp
invalid
add cl, byte [rax - 0x7d]
or byte [rax], al
adc byte [rax - 0x7f], cl
invalid
or byte [rax - 0x77], cl
int1
lea edx, [rsp + 0x20]
invalid
int1
add byte [rbx + 0x5d], bl
int1
add byte [rax + 0x720247c], al
mov word [rsi], cs
add byte [rax - 0x73], cl
mov word [rax + rcx*4], fs
add byte [rax], al
add al, ch
notrack call 0xc9482bec
jle case.0x140002718.19