Function at 0x140030ff2
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
mov r15, rdx
mov rbx, rcx
lea rsi, [rsp + 0x188]
mov rcx, rsi
call fcn.140002e30
cmp byte [rsi], 0
je 0x14003103e
mov rax, qword [rsp + 0x190]
mov qword [rbx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rbx], rax
jmp 0x140031bcd
cmp byte [rsp + 0x189], 0
je 0x1400316dc
movabs r12, 0x8000000000000000
movzx eax, byte [rsp + 0x18a]
cmp eax, 0x5b
je 0x140031489
cmp eax, 0x7b
jne 0x14003179b
dec byte [r15 + 0x30]
je 0x140031772
inc qword [r15 + 0x28]
lea r14, [r15 + 0x18]
lea rcx, [r12 + 1]
mov byte [rsp + 0x60], 2
mov dil, 1
mov dword [rsp + 0x48], 0
mov r13, r12
lea r12, [rsp + 0x90]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x128]
mov rdx, r15
call fcn.140002e30
cmp byte [rsp + 0x128], 0
jne 0x1400316cf
cmp byte [rsp + 0x129], 0
je 0x140031910
mov al, byte [rsp + 0x12a]
movzx ecx, al
cmp ecx, 0x2c
je 0x14003110d
cmp ecx, 0x7d
je 0x1400316f8
test dil, 1
jne 0x140031113
jmp 0x14003194f
test dil, 1
je 0x140031117
xor edi, edi
jmp 0x140031149
inc qword [r15 + 0x28]
mov rcx, r12
mov rdx, r15
call fcn.140002e30
cmp byte [rsp + 0x90], 0
jne 0x14003178e
cmp byte [rsp + 0x91], 0
je 0x140031a03
mov al, byte [rsp + 0x92]
cmp al, 0x22
jne 0x1400317dd
inc qword [r15 + 0x28]
and qword [r15 + 0x10], 0
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.140111d47
cmp dword [rsp + 0x90], 2
mov rbp, qword [rsp + 0x98]
je 0x140031a1d
mov rsi, qword [rsp + 0xa0]
mov r9d, 2
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1403b9759]
call fcn.140063a63
test al, al
jne 0x1400312ba
mov r9d, 6
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1403b9bd7]
call fcn.140063a63
test al, al
jne 0x140031302
mov r9d, 0xa
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1403b976b]
call fcn.140063a63
test al, al
jne 0x14003133b
mov r9d, 9
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1403b9775]
call fcn.140063a63
test al, al
jne 0x1400313a3
mov r9d, 8
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1403b9763]
call fcn.140063a63
test al, al
jne 0x140031416
mov r9d, 0xd
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1403b9bdd]
call fcn.140063a63
test al, al
jne 0x140031258
mov rcx, r15
call fcn.140017a79
test rax, rax
je 0x1400310be
jmp 0x140031a1a
movabs rax, 0x8000000000000000
lea rsi, [rax + 1]
cmp qword [rsp + 0x20], rsi
jne 0x140031ce9
lea rcx, [rsp + 0x70]
mov rdx, r15
call fcn.140017e37
mov rax, qword [rsp + 0x70]
cmp rax, rsi
je 0x1400319d4
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
call fcn.14016626f
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
jmp 0x1400310be
test byte [rsp + 0x48], 1
jne 0x140031c7f
mov rcx, r15
call fcn.140002f02
test rax, rax
jne 0x140031a1a
mov rcx, r15
call fcn.1400167d2
mov rbp, rdx
test rax, rax
jne 0x140031a1d
mov al, 1
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x150], rbp
mov rcx, qword [rsp + 0x40]
jmp 0x1400310b9
cmp byte [rsp + 0x60], 2
jne 0x140031c9e
mov rcx, r12
mov rdx, r15
call fcn.14001768b
cmp byte [rsp + 0x90], 0
jne 0x14003178e
mov al, byte [rsp + 0x91]
mov byte [rsp + 0x60], al
mov rcx, qword [rsp + 0x40]
jmp 0x1400310b9
movabs rsi, 0x8000000000000000
cmp r13, rsi
jne 0x140031cac
lea rcx, [rsp + 0x158]
mov rdx, r15
call fcn.140017f99
mov r13, qword [rsp + 0x158]
cmp r13, rsi
je 0x14003198a
mov rcx, rsi
mov rdx, qword [rsp + 0x30]
call fcn.14000a0f9
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x40]
jmp 0x1400310b9
movabs rax, 0x8000000000000000
lea rsi, [rax + 1]
cmp qword [rsp + 0x50], rsi
jne 0x140031cc5
lea rcx, [rsp + 0x170]
mov rdx, r15
call fcn.140017e37
mov rax, qword [rsp + 0x170]
cmp rax, rsi
je 0x14003199d
mov qword [rsp + 0x50], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x38]
call fcn.14016626f
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x40]
jmp 0x1400310b9
movabs rax, 0x8000000000000000
lea rsi, [rax + 1]
cmp qword [rsp + 0x58], rsi
jne 0x140031cd3
lea rcx, [rsp + 0x108]
mov rdx, r15
call fcn.140017e37
mov rax, qword [rsp + 0x108]
cmp rax, rsi
je 0x1400319c5
mov qword [rsp + 0x58], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x68]
call fcn.14016626f
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x138], rax
mov rcx, qword [rsp + 0x40]
jmp 0x1400310b9
dec byte [r15 + 0x30]
je 0x140031772
inc qword [r15 + 0x28]
mov qword [rsp + 0x108], r15
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, r15
call fcn.140002e30
cmp byte [rsi], 0
je 0x1400314be
mov rdi, qword [rsp + 0x78]
jmp 0x140031827
cmp byte [rsp + 0x71], 0
je 0x1400317c4
cmp byte [rsp + 0x72], 0x5d
je 0x140031816
mov byte [rsp + 0x110], 0
mov rcx, r15
call fcn.1400167d2
mov rdi, rdx
test rax, rax
jne 0x140031827
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, r15
call fcn.140002e30
cmp byte [rsi], 0
jne 0x1400314b4
cmp byte [rsp + 0x71], 0
je 0x1400317c4
movzx eax, byte [rsp + 0x72]
cmp eax, 0x2c
jne 0x140031935
inc qword [r15 + 0x28]
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov rdx, r15
call fcn.140002e30
cmp byte [rsi], 0
jne 0x1400317ba
cmp byte [rsp + 0x91], 0
je 0x140031c04
cmp byte [rsp + 0x92], 0x5d
je 0x140031c18
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov rdx, r15
call fcn.140016b84
cmp byte [rsi], 1
je 0x1400317ba
lea rsi, [rsp + 0x90]
mov bpl, byte [rsi + 1]
lea rdx, [rsp + 0x108]
mov rcx, rsi
call fcn.140019b18
mov r13, qword [rsi]
movabs rax, 0x8000000000000001
cmp r13, rax
je 0x1400317ba
mov rax, r13
neg rax
jo 0x140031c8d
lea rsi, [rsp + 0x90]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x48], rax
mov r14, qword [rsi + 0x10]
lea rdx, [rsp + 0x108]
mov rcx, rsi
call fcn.1400199d7
mov rax, qword [rsi]
movabs rsi, 0x8000000000000002
cmp rax, rsi
je 0x140031bf5
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x20], bpl
mov qword [rsp + 0x40], rax
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x140031d20
lea rbp, [rsp + 0x90]
mov r14, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x108]
mov rcx, rbp
call fcn.1400199d7
mov rax, qword [rbp]
cmp rax, rsi
je 0x140031c2c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rax
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x140031d39
lea rbp, [rsp + 0x90]
mov r14, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x108]
mov rcx, rbp
call fcn.1400199d7
mov rax, qword [rbp]
cmp rax, rsi
je 0x140031c40
movabs rcx, 0x8000000000000001
cmp rax, rcx
mov rbp, qword [rsp + 0x48]
je 0x140031d57
mov rsi, rax
lea rax, [rsp + 0x98]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x30], rdi
mov rdi, rbp
mov qword [rsp + 0x48], r14
jmp 0x14003182a
mov rbp, qword [rsp + 0x130]
jmp 0x140031a1d
lea rdx, [rsp + 0x90]
mov qword [rdx], 5
mov rcx, r15
call fcn.1402e70a0
jmp 0x140031028
test byte [rsp + 0x48], 1
movabs r12, 0x8000000000000000
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
je 0x140031963
mov al, byte [rsp + 0x60]
cmp al, 2
je 0x140031971
cmp r13, r12
je 0x1400319ac
mov qword [rsp + 0x28], rsi
and al, 1
mov byte [rsp + 0x60], al
lea rax, [r12 + 1]
mov rbx, qword [rsp + 0x50]
cmp rbx, rax
cmove rbx, r12
mov rbp, r13
mov r13, qword [rsp + 0x58]
cmp r13, rax
cmove r13, r12
mov rcx, qword [rsp + 0x20]
cmp rcx, rax
cmove rcx, r12
mov qword [rsp + 0x20], rcx
jmp 0x140031a8e
lea rdx, [rsp + 0x90]
mov qword [rdx], 0x15
mov rcx, r15
call fcn.1402e70a0
jmp 0x140031bec
mov rbp, qword [rsp + 0x98]
jmp 0x140031a1d
lea r8, [0x1402f3b28]
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.1402e711e
mov r14, rax
jmp 0x140031be1
mov rdi, qword [rsp + 0x98]
jmp 0x140031827
lea rdx, [rsp + 0x90]
mov qword [rdx], 2
mov rcx, r15
call fcn.1402e70a0
jmp 0x140031824
movzx eax, al
cmp eax, 0x7d
movabs r12, 0x8000000000000000
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
lea rdx, [rsp + 0x90]
jne 0x140031924
mov qword [rdx], 0x12
jmp 0x14003192b
lea rdx, str.struct_User_with_6_elements
xor ecx, ecx
call fcn.1402e786b
mov rdi, rax
mov r13, r12
inc byte [r15 + 0x30]
mov rcx, r15
call fcn.140003026
mov rbp, rax
mov qword [rsp + 0x90], r13
mov r14, rdi
mov qword [rsp + 0x98], rdi
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rsi
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xf0], rax
mov al, byte [rsp + 0x20]
mov byte [rsp + 0xf8], al
mov qword [rsp + 0x100], rbp
cmp r13, r12
jne 0x1400318ef
test rbp, rbp
jne 0x140031b5e
jmp 0x140031b6b
test rbp, rbp
je 0x140031b95
lea rcx, [rsp + 0x90]
call fcn.140009d04
mov r13, r12
mov r14, rbp
jmp 0x140031bad
lea rdx, [rsp + 0x90]
mov qword [rdx], 3
jmp 0x140031a12
mov qword [rdx], 0x10
mov rcx, r15
call fcn.1402e70a0
jmp 0x140031982
cmp eax, 0x5d
jne 0x1400319ef
lea rdx, str.struct_User_with_6_elements
mov ecx, 1
jmp 0x14003181f
lea rdx, [rsp + 0x90]
mov qword [rdx], 8
jmp 0x140031a12
lea rcx, [0x1403b9759]
mov edx, 2
jmp 0x14003197d
lea rcx, [0x1403b9bd7]
mov edx, 6
call fcn.1402e7815
mov rbp, rax
jmp 0x140031a36
mov rbp, qword [rsp + 0x160]
mov r13, rsi
mov r12, rsi
jmp 0x140031a27
mov rbp, qword [rsp + 0x178]
mov qword [rsp + 0x50], rsi
jmp 0x140031a1d
lea rcx, [0x1403b976b]
mov edx, 0xa
call fcn.1402e7815
mov rbp, rax
mov r13, r12
jmp 0x140031a36
mov rbp, qword [rsp + 0x110]
mov qword [rsp + 0x58], rsi
jmp 0x140031a1d
mov rbp, qword [rsp + 0x78]
movabs r12, 0x8000000000000000
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
jmp 0x140031a4d
lea rdx, [rsp + 0x90]
mov qword [rdx], 7
jmp 0x1400317d3
lea rdx, [rsp + 0x90]
mov qword [rdx], 5
mov rcx, r15
call fcn.1402e70a0
mov rbp, rax
movabs r12, 0x8000000000000000
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
lea rax, [r12 + 1]
cmp rcx, rax
je 0x140031a4d
mov rdx, rsi
call fcn.14000a0f9
lea rsi, [r12 + 1]
mov rcx, qword [rsp + 0x58]
cmp rcx, rsi
je 0x140031a66
mov rdx, qword [rsp + 0x68]
call fcn.14000a0f9
mov rcx, qword [rsp + 0x50]
cmp rcx, rsi
je 0x140031a78
mov rdx, rdi
call fcn.14000a0f9
cmp r13, r12
je 0x140031a88
mov rcx, r13
mov rdx, r14
call fcn.14018159d
mov r14, rbp
mov rbp, r12
inc byte [r15 + 0x30]
mov rcx, r15
call fcn.140002fb1
mov rsi, rax
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r14
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rdi
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], r13
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xf0], rax
mov al, byte [rsp + 0x60]
mov byte [rsp + 0xf8], al
mov qword [rsp + 0x100], rsi
cmp rbp, r12
jne 0x140031b70
test rsi, rsi
mov rbx, qword [rsp + 0x120]
je 0x140031b6b
lea rcx, [rsp + 0x100]
call fcn.140009e9b
mov r13, r12
jmp 0x140031bad
test rsi, rsi
mov rbx, qword [rsp + 0x120]
je 0x140031b92
lea rcx, [rsp + 0x90]
call fcn.140009d04
mov r13, r12
mov r14, rsi
jmp 0x140031bad
mov r13, rbp
lea rsi, [rsp + 0xa0]
lea rdi, [rsp + 0x188]
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
cmp r13, r12
je 0x140031be1
lea rdi, [rbx + 0x10]
lea rsi, [rsp + 0x188]
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
mov qword [rbx], r13
mov qword [rbx + 8], r14
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r15
mov rdx, r14
call fcn.1402e70dc
mov qword [rbx + 8], rax
mov qword [rbx], r12
jmp 0x140031bcd
mov rdi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x48]
jmp 0x140031c6f
lea rdx, [rsp + 0x90]
mov qword [rdx], 5
jmp 0x1400317d3
lea rdx, [rsp + 0x90]
mov qword [rdx], 0x12
jmp 0x1400317d3
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
jmp 0x140031c64
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.14000a0f9
mov r14, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, r14
call fcn.14000a0f9
mov rcx, r13
mov rdx, rbp
call fcn.14018159d
jmp 0x140031827
lea rcx, [0x1403b9759]
mov edx, 2
jmp 0x140031cdf
lea rdx, str.struct_User_with_6_elements
mov ecx, 2
jmp 0x14003181f
lea rcx, [0x1403b9bd7]
mov edx, 6
jmp 0x140031cdf
lea rcx, [0x1403b976b]
mov edx, 0xa
call fcn.1402e7938
mov rbp, rax
jmp 0x140031995
lea rcx, [0x1403b9775]
mov edx, 9
jmp 0x140031cdf
lea rcx, [0x1403b9763]
mov edx, 8
call fcn.1402e7938
jmp 0x140031a1a
lea rcx, [0x1403b9bdd]
mov edx, 0xd
call fcn.1402e7938
mov rcx, qword [rsp + 0x20]
mov rbp, rax
movabs r12, 0x8000000000000000
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
jmp 0x140031a45
lea rdx, str.struct_User_with_6_elements
mov ecx, 3
call fcn.1402e786b
mov rdi, rax
jmp 0x140031bfd
lea rdx, str.struct_User_with_6_elements
mov ecx, 4
call fcn.1402e786b
mov rdi, rax
mov r14, qword [rsp + 0x50]
jmp 0x140031c34
lea rdx, str.struct_User_with_6_elements
mov ecx, 5
call fcn.1402e786b
mov rdi, rax
mov rsi, qword [rsp + 0x40]
jmp 0x140031c52