Function at 0x14011d530
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
add byte [rax], al
movapd xmmword [rsp + 0x100], xmm11
movaps xmmword [rsp + 0xf0], xmm10
movapd xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm8
movapd xmmword [rsp + 0xc0], xmm7
movapd xmmword [rsp + 0xb0], xmm6
sub dword [rsp + 0xb0], esi
mov r12, rcx
movzx eax, byte [rdx]
cmp rax, 0x14
je 0x14011d62c
cmp eax, 0x15
jne 0x14011de34
mov qword [rsp + 0x98], r12
mov rbp, qword [rdx + 0x18]
test rbp, rbp
je 0x14011de1e
mov rdi, qword [rdx + 0x10]
shl rbp, 6
lea rax, [rdi + rbp]
mov qword [rsp + 0xa0], rax
add rdi, 0x20
mov r14w, 2
mov dword [rsp + 0x44], 2
mov r12d, 2
xor eax, eax
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x20]
lea r13, [0x1404d4e18]
movapd xmm6, xmmword [0x1404ce030]
movapd xmm7, xmmword [0x1404ce040]
movaps xmm8, xmmword [0x1404ce010]
movaps xmm10, xmmword [0x1404ce020]
mov eax, 0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x70], rax
mov r15d, 2
mov qword [rsp + 0x68], rax
xor esi, esi
mov dword [rsp + 0x58], eax
jmp 0x14011d6d1
mov rdi, qword [rdx + 0x10]
mov rsi, qword [rdx + 0x18]
mov rax, rsi
shl rax, 5
add rax, rdi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
test rsi, rsi
je 0x14011de50
lea rcx, [rdi + 0x20]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x88], 1
movzx eax, byte [rdi]
dec rax
cmp rax, 9
ja case.default.0x14011d693
lea rdx, [0x1404d4e80]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
movzx eax, byte [rdi + 1]
jmp 0x14011dbeb
movzx eax, byte [rdi + 1]
xorps xmm9, xmm9
cvtsi2sd xmm9, eax
mov eax, 1
mov qword [rsp + 0x50], rax
nop word cs:[rax + rax]
add rdi, 0x40
inc rsi
add rbp, 0xffffffffffffffc0
je 0x14011dad2
lea rdx, [rdi - 0x20]
mov rcx, rbx
call fcn.1401221b0
cmp byte [rsp + 0x20], 0
jne 0x14011dac8
movzx eax, byte [rsp + 0x21]
cmp rax, 5
ja case.default.0x14011d6fb
movsxd rax, dword [r13 + rax*4]
add rax, r13
jmp rax
cmp qword [rsp + 0x50], 1
je 0x14011df62
movzx eax, byte [rdi]
dec rax
cmp rax, 9
ja case.default.0x14011d727
lea rcx, [0x1404d4e58]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, word [rdi + 2]
jmp 0x14011d6a2
cmp qword [rsp + 0x48], 1
je 0x14011df70
movzx eax, byte [rdi]
dec rax
cmp rax, 9
ja case.default.0x14011d727
lea rcx, [0x1404d4e30]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rdi + 1]
jmp 0x14011da5d
cmp r12, 2
jne 0x14011df7e
mov rcx, rbx
mov rdx, rdi
call fcn.1400cad80
mov r12, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
cmp r12, 2
je 0x14011df8f
mov qword [rsp + 0xa8], rax
jmp case.default.0x14011d6fb
cmp dword [rsp + 0x44], 2
jne 0x14011df08
movzx eax, byte [rdi]
mov dword [rsp + 0x44], 0
cmp rax, 0x10
je 0x14011d8ce
cmp eax, 0x11
je 0x14011d87a
cmp eax, 0x12
je 0x14011d8ce
mov rcx, rbx
mov rdx, rdi
jmp 0x14011d881
cmp r14w, 2
jne 0x14011df16
movzx eax, byte [rdi]
xor r14d, r14d
cmp rax, 0x10
je 0x14011d803
cmp eax, 0x11
je 0x14011d8db
cmp eax, 0x12
jne 0x14011d8fa
mov dword [rsp + 0x58], 0
jmp case.default.0x14011d6fb
cmp r15d, 2
jne 0x14011df24
movzx eax, byte [rdi]
xor r15d, r15d
cmp rax, 0x10
je 0x14011d973
cmp eax, 0x11
je 0x14011d944
cmp eax, 0x12
je 0x14011d973
mov rcx, rbx
mov rdx, rdi
call fcn.1400ca690
mov ecx, dword [rsp + 0x20]
test ecx, ecx
jne 0x14011d95c
mov eax, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x68]
movabs r8, 0xffffffff00000000
and rdx, r8
or rdx, rax
mov rax, rdx
mov r15d, 1
jmp 0x14011d966
mov rdx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400ca690
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x70]
movabs r8, 0xffffffff00000000
and rdx, r8
or rdx, rax
mov rax, rdx
test ecx, ecx
cmovne rax, qword [rsp + 0x28]
mov edx, 1
mov r8d, dword [rsp + 0x64]
cmove r8d, edx
mov dword [rsp + 0x44], r8d
mov qword [rsp + 0x70], rax
test ecx, ecx
jne 0x14011df8f
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x64], eax
jmp case.default.0x14011d6fb
mov rdx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400ca560
cmp word [rsp + 0x20], 0
je 0x14011d90d
mov cx, 1
mov rax, qword [rsp + 0x28]
jmp 0x14011d929
mov rcx, rbx
mov rdx, rdi
call fcn.1400ca560
cmp word [rsp + 0x20], 0
jne 0x14011d8ef
mov ax, 1
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x22]
mov word [rsp + 0x5e], ax
xor ecx, ecx
mov rax, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x58]
mov qword [rsp + 0x90], rax
test cx, cx
je case.default.0x14011d6fb
jmp 0x14011df8f
mov rdx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400ca690
mov ecx, dword [rsp + 0x20]
test ecx, ecx
je 0x14011d853
mov rax, qword [rsp + 0x28]
mov r15d, dword [rsp + 0x60]
mov qword [rsp + 0x68], rax
test ecx, ecx
jne 0x14011df8f
mov dword [rsp + 0x60], r15d
jmp case.default.0x14011d6fb
mov eax, dword [rdi + 4]
xorps xmm9, xmm9
cvtsi2sd xmm9, rax
jmp 0x14011d6ab
movsd xmm0, qword [rdi + 8]
unpcklps xmm0, xmm6
subpd xmm0, xmm7
movapd xmm9, xmm0
unpckhpd xmm9, xmm0
addsd xmm9, xmm0
jmp 0x14011d6ab
movsx eax, byte [rdi + 1]
jmp 0x14011d6a2
movsx eax, word [rdi + 2]
jmp 0x14011d6a2
xorps xmm9, xmm9
cvtsi2sd xmm9, dword [rdi + 4]
jmp 0x14011d6ab
xorps xmm9, xmm9
cvtsi2sd xmm9, qword [rdi + 8]
jmp 0x14011d6ab
movd xmm0, dword [rdi + 4]
movd eax, xmm0
xor ecx, ecx
test eax, eax
setns cl
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
lea rax, [0x1404ce000]
movsd xmm0, qword [rax + rcx*8]
andps xmm0, xmm8
andps xmm9, xmm10
orps xmm9, xmm0
jmp 0x14011d6ab
movsd xmm9, qword [rdi + 8]
jmp 0x14011d6ab
movzx eax, word [rdi + 2]
jmp 0x14011da5d
mov eax, dword [rdi + 4]
xorps xmm11, xmm11
cvtsi2sd xmm11, rax
jmp 0x14011dab9
movsd xmm0, qword [rdi + 8]
unpcklps xmm0, xmm6
subpd xmm0, xmm7
movapd xmm11, xmm0
unpckhpd xmm11, xmm0
addsd xmm11, xmm0
jmp 0x14011dab9
movsx eax, byte [rdi + 1]
jmp 0x14011da5d
movsx eax, word [rdi + 2]
xorps xmm11, xmm11
cvtsi2sd xmm11, eax
jmp 0x14011dab9
xorps xmm11, xmm11
cvtsi2sd xmm11, dword [rdi + 4]
jmp 0x14011dab9
xorps xmm11, xmm11
cvtsi2sd xmm11, qword [rdi + 8]
jmp 0x14011dab9
movd xmm0, dword [rdi + 4]
movd eax, xmm0
xor ecx, ecx
test eax, eax
setns cl
xorps xmm11, xmm11
cvtss2sd xmm11, xmm0
lea rax, [0x1404ce000]
movsd xmm0, qword [rax + rcx*8]
andps xmm0, xmm8
andps xmm11, xmm10
orps xmm11, xmm0
jmp 0x14011dab9
movsd xmm11, qword [rdi + 8]
mov eax, 1
mov qword [rsp + 0x48], rax
jmp case.default.0x14011d6fb
mov rax, qword [rsp + 0x28]
jmp 0x14011df8f
cmp qword [rsp + 0x50], 0
je 0x14011de1e
cmp qword [rsp + 0x48], 0
je 0x14011def2
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rsi
lea rcx, [rsp + 0x20]
call fcn.1402930d0
test rax, rax
jne 0x14011df8f
xor eax, eax
cmp r12, 2
mov ecx, 0
cmovne rcx, r12
cmp r15d, 2
mov r8, qword [rsp + 0x68]
cmove r8d, eax
cmove r15d, eax
cmp r14w, 2
cmove r14d, eax
mov r9d, dword [rsp + 0x44]
cmp r9d, 2
mov rdx, qword [rsp + 0x70]
cmove edx, eax
cmove r9d, eax
mov r12, qword [rsp + 0x98]
mov qword [r12], rcx
mov rax, qword [rsp + 0xa8]
mov qword [r12 + 8], rax
mov dword [r12 + 0x10], r9d
mov dword [r12 + 0x14], edx
mov dword [r12 + 0x18], r15d
mov dword [r12 + 0x1c], r8d
movsd qword [r12 + 0x20], xmm9
movsd qword [r12 + 0x28], xmm11
mov word [r12 + 0x30], r14w
movzx eax, word [rsp + 0x5e]
mov word [r12 + 0x32], ax
jmp 0x14011dfa4
movzx eax, word [rdi + 2]
jmp 0x14011dbeb
mov eax, dword [rdi + 4]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
jmp 0x14011dbf2
movsd xmm0, qword [rdi + 8]
unpcklps xmm0, xmmword [0x1404ce030]
subpd xmm0, xmmword [0x1404ce040]
movapd xmm6, xmm0
unpckhpd xmm6, xmm0
addsd xmm6, xmm0
jmp 0x14011dbf2
movsx eax, byte [rdi + 1]
jmp 0x14011dbeb
movsx eax, word [rdi + 2]
xorps xmm6, xmm6
cvtsi2sd xmm6, eax
cmp rsi, 1
je 0x14011de57
lea rdx, [rdi + 0x40]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x88], 2
movzx eax, byte [rdi + 0x20]
dec rax
cmp rax, 9
ja case.default.0x14011dc30
lea rcx, [0x1404d4ea8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rdi + 0x21]
jmp 0x14011dccc
xorps xmm6, xmm6
cvtsi2sd xmm6, dword [rdi + 4]
jmp 0x14011dbf2
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rdi + 8]
jmp 0x14011dbf2
movd xmm0, dword [rdi + 4]
movd eax, xmm0
xor edx, edx
test eax, eax
setns dl
lea rax, [0x1404ce000]
movsd xmm1, qword [rax + rdx*8]
andps xmm1, xmmword [0x1404ce010]
cvtss2sd xmm6, xmm0
andps xmm6, xmmword [0x1404ce020]
orps xmm6, xmm1
jmp 0x14011dbf2
movsd xmm6, qword [rdi + 8]
jmp 0x14011dbf2
movzx eax, word [rdi + 0x22]
jmp 0x14011dccc
mov eax, dword [rdi + 0x24]
cvtsi2sd xmm7, rax
jmp 0x14011dd19
movsd xmm0, qword [rdi + 0x28]
unpcklps xmm0, xmmword [0x1404ce030]
subpd xmm0, xmmword [0x1404ce040]
movapd xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm7, xmm0
jmp 0x14011dd19
movsx eax, byte [rdi + 0x21]
jmp 0x14011dccc
movsx eax, word [rdi + 0x22]
cvtsi2sd xmm7, eax
jmp 0x14011dd19
cvtsi2sd xmm7, dword [rdi + 0x24]
jmp 0x14011dd19
cvtsi2sd xmm7, qword [rdi + 0x28]
jmp 0x14011dd19
movd xmm0, dword [rdi + 0x24]
movd eax, xmm0
xor ecx, ecx
test eax, eax
setns cl
lea rax, [0x1404ce000]
movsd xmm1, qword [rax + rcx*8]
andps xmm1, xmmword [0x1404ce010]
cvtss2sd xmm7, xmm0
andps xmm7, xmmword [0x1404ce020]
orps xmm7, xmm1
jmp 0x14011dd19
movsd xmm7, qword [rdi + 0x28]
cmp rsi, 2
je 0x14011de5e
lea rbx, [rdi + 0x60]
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x88], 3
lea rcx, [rsp + 0x20]
call fcn.1400cad80
mov r14, qword [rsp + 0x20]
cmp r14, 2
je 0x14011dddb
cmp rsi, 3
je 0x14011ded5
mov rsi, qword [rsp + 0x28]
lea rax, [rdi + 0x80]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], 4
movzx eax, byte [rdi + 0x60]
xor ebp, ebp
cmp rax, 0x10
je 0x14011dda4
cmp eax, 0x11
je 0x14011dda6
cmp eax, 0x12
je 0x14011ddc4
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.1400ca690
cmp dword [rsp + 0x20], 0
jne 0x14011dddb
jmp 0x14011ddbb
jmp 0x14011ddc4
mov rdx, qword [rdi + 0x68]
lea rcx, [rsp + 0x20]
call fcn.1400ca690
cmp dword [rsp + 0x20], 0
jne 0x14011dddb
mov edi, dword [rsp + 0x24]
mov ebp, 1
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x78]
call fcn.1402a2950
cmp word [rsp + 0x20], 0
je 0x14011dde5
mov rax, qword [rsp + 0x28]
jmp 0x14011df97
movd xmm8, dword [rsp + 0x22]
movd eax, xmm8
cmp ax, 2
je 0x14011df48
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x78]
call fcn.1402a3680
cmp dword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x28]
je 0x14011de65
mov rax, rbx
jmp 0x14011df97
lea rcx, [0x1404d0890]
mov edx, 9
call fcn.1404c3010
jmp 0x14011df8f
lea r8, [0x1404cea98]
lea rax, [rsp + 0x20]
mov rcx, rdx
mov rdx, rax
call fcn.1404c2460
jmp 0x14011df97
xor ecx, ecx
jmp 0x14011deda
mov ecx, 1
jmp 0x14011deda
mov ecx, 2
jmp 0x14011deda
mov r15d, dword [rsp + 0x24]
cmp r15d, 2
je 0x14011dfef
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.140293190
test rax, rax
jne 0x14011df97
mov qword [r12], r14
mov qword [r12 + 8], rsi
mov dword [r12 + 0x10], ebp
mov dword [r12 + 0x14], edi
mov dword [r12 + 0x18], r15d
mov dword [r12 + 0x1c], ebx
movsd qword [r12 + 0x20], xmm6
movsd qword [r12 + 0x28], xmm7
movd dword [r12 + 0x30], xmm8
jmp 0x14011dfa4
mov ecx, 3
lea rdx, [0x1404d0900]
lea r8, [0x1404ce258]
call fcn.1404c3080
jmp 0x14011df97
lea rcx, [0x1404d0899]
mov edx, 8
call fcn.1404c3010
jmp 0x14011df8f
lea rcx, [0x1404d08b4]
mov edx, 0xb
jmp 0x14011df8a
lea rcx, [0x1404d08bf]
mov edx, 7
jmp 0x14011df8a
lea rcx, [0x1404d08c6]
mov edx, 0x16
jmp 0x14011df8a
lea r8, [0x1404d2030]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1404c2460
jmp 0x14011df97
mov ecx, 4
jmp 0x14011deda
lea r8, [0x1404d2030]
lea rdx, [rsp + 0x20]
call fcn.1404c2460
jmp 0x14011df97
lea rcx, [0x1404d0890]
mov edx, 9
jmp 0x14011df8a
lea rcx, [0x1404d0899]
mov edx, 8
jmp 0x14011df8a
lea rcx, [0x1404d08a1]
mov edx, 0x13
call fcn.1404c3110
mov r12, qword [rsp + 0x98]
mov qword [r12 + 8], rax
mov qword [r12], 2
mov rax, r12
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 5
jmp 0x14011deda
lea r8, [0x1404d2030]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1404c2460
jmp 0x14011df8f