Function at 0x14008d9ac
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3d8
mov r12, rcx
movzx eax, byte [rdx]
cmp rax, 0x14
je 0x14008dcd0
cmp eax, 0x15
jne 0x14008e029
mov qword [rsp + 0x38], r12
mov r15, qword [rdx + 8]
mov r12, qword [rdx + 0x18]
shl r12, 6
add r12, r15
lea rax, [rsp + 0x68]
mov qword [rax], r15
mov qword [rax + 8], r12
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
mov dil, 2
lea rax, [rsp + 0x220]
mov byte [rax + 0x62], dil
lea rax, [rsp + 0x1b0]
mov byte [rax + 0x62], dil
mov dword [rsp + 0x34], 0
lea rbp, [0x14031bb60]
lea rbx, [rsp + 0xd0]
mov r13b, 2
test r15, r15
je 0x14008de49
cmp r15, r12
je 0x14008de49
lea rax, [r15 + 0x40]
mov qword [rsp + 0x68], rax
lea rsi, [r15 + 0x20]
inc qword [rsp + 0x80]
mov qword [rsp + 0x78], rsi
movzx eax, byte [r15]
dec rax
cmp rax, 0xe
ja case.0x14008da79.2
movsxd rax, dword [rbp + rax*4]
add rax, rbp
jmp rax
movzx eax, byte [r15 + 1]
cmp al, 3
mov ecx, 3
cmovae eax, ecx
jmp 0x14008daea
mov rax, qword [r15 + 8]
cmp rax, 3
mov ecx, 3
cmovae rax, rcx
jmp 0x14008daea
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x18]
jmp 0x14008dab1
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
mov rcx, rbx
call fcn.140050105
jmp 0x14008dad5
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x18]
jmp 0x14008dacd
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
mov rcx, rbx
call fcn.140050050
cmp byte [rsp + 0xd0], 0
jne 0x14008df0e
mov al, byte [rsp + 0xd1]
test al, al
je 0x14008db4d
movzx eax, al
cmp eax, 1
je 0x14008dbf6
cmp eax, 2
jne 0x14008dcb3
cmp dword [rsp + 0x34], 0
jne 0x14008e151
and qword [rsp + 0x78], 0
mov rcx, rsi
call fcn.1400666c6
mov rcx, rbx
mov rdx, rsi
call fcn.14006ce7e
cmp dword [rsp + 0xd0], 0
jne 0x14008df0e
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x34], 1
jmp 0x14008dcc1
cmp dil, 2
jne 0x14008e15a
mov rcx, rbx
lea rdx, [rsp + 0x68]
call fcn.1400670da
mov r15b, byte [rsp + 0x13a]
mov r14, qword [rsp + 0xd0]
cmp r15b, 2
je 0x14008df16
mov ecx, 0x62
lea r12, [rsp + 0x288]
mov rdi, r12
lea rsi, [rsp + 0xd8]
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xd8]
mov al, byte [rcx + 0x67]
mov byte [rsp + 0x4c], al
mov eax, dword [rcx + 0x63]
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x218]
call fcn.14006480c
mov qword [rsp + 0x218], r14
mov ecx, 0x62
lea rdx, [rsp + 0x220]
mov rdi, rdx
mov rsi, r12
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x282], r15b
mov al, byte [rsp + 0x4c]
mov byte [rdx + 0x67], al
mov eax, dword [rsp + 0x48]
mov dword [rdx + 0x63], eax
mov edi, r15d
jmp 0x14008dcc1
cmp r13b, 2
jne 0x14008e168
mov r12, rbp
mov rcx, rbx
lea rdx, [rsp + 0x68]
call fcn.1400670da
mov bpl, byte [rsp + 0x13a]
mov r15, qword [rsp + 0xd0]
cmp bpl, 2
je 0x14008df70
mov ecx, 0x62
mov byte [rsp + 0x2b], dil
mov r13, r14
mov r14, rbx
lea rbx, [rsp + 0x288]
mov rdi, rbx
lea rdx, [rsp + 0xd8]
mov rsi, rdx
rep movsb byte [rdi], byte [rsi]
mov al, byte [rdx + 0x67]
mov byte [rsp + 0x4c], al
mov eax, dword [rdx + 0x63]
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x1a8]
call fcn.14006480c
mov qword [rsp + 0x1a8], r15
mov ecx, 0x62
lea rdx, [rsp + 0x1b0]
mov rdi, rdx
mov rsi, rbx
mov rbx, r14
mov r14, r13
mov r13d, ebp
rep movsb byte [rdi], byte [rsi]
mov dil, byte [rsp + 0x2b]
mov byte [rsp + 0x212], bpl
mov al, byte [rsp + 0x4c]
mov byte [rdx + 0x67], al
mov eax, dword [rsp + 0x48]
mov dword [rdx + 0x63], eax
mov rbp, r12
jmp 0x14008dcc1
and qword [rsp + 0x78], 0
mov rcx, rsi
call fcn.1400666c6
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
jmp 0x14008da34
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x18]
shl rcx, 5
add rcx, rax
lea rdx, [rsp + 0x48]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
and qword [rdx + 0x10], 0
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.140067d38
mov dl, byte [rsi + 0x6a]
mov rbx, qword [rsi]
cmp dl, 3
je 0x14008de37
lea rax, [rsp + 0xd8]
lea rdi, [rsp + 0x68]
mov ecx, 0x62
mov rsi, rax
rep movsb byte [rdi], byte [rsi]
mov cl, byte [rax + 0x67]
mov byte [rsp + 0x44], cl
mov eax, dword [rax + 0x63]
mov dword [rsp + 0x40], eax
cmp dl, 2
je 0x14008e04c
lea r14, [rsp + 0x220]
lea rsi, [rsp + 0x68]
mov ecx, 0x62
mov rdi, r14
rep movsb byte [rdi], byte [rsi]
mov al, byte [rsp + 0x44]
mov byte [r14 + 0x67], al
mov eax, dword [rsp + 0x40]
mov dword [r14 + 0x63], eax
mov qword [r14 - 8], rbx
mov byte [r14 + 0x62], dl
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.140067d38
mov bpl, byte [rsi + 0x6a]
mov r15, qword [rsi]
cmp bpl, 3
je 0x14008de27
lea rax, [rsp + 0xd8]
lea rdi, [rsp + 0x288]
mov ecx, 0x62
mov rsi, rax
rep movsb byte [rdi], byte [rsi]
mov cl, byte [rax + 0x67]
mov byte [rsp + 0x30], cl
mov eax, dword [rax + 0x63]
mov dword [rsp + 0x2c], eax
cmp bpl, 2
je 0x14008e0e4
lea rax, [rsp + 0x1b0]
lea rsi, [rsp + 0x288]
mov ecx, 0x62
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov cl, byte [rsp + 0x30]
mov byte [rax + 0x67], cl
mov ecx, dword [rsp + 0x2c]
mov dword [rax + 0x63], ecx
mov qword [rax - 8], r15
mov byte [rax + 0x62], bpl
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1400678f7
cmp dword [rsi], 0
je 0x14008df74
mov r15, qword [rsp + 0xd8]
lea rcx, [rsp + 0x1a8]
call fcn.140062ead
lea rcx, [rsp + 0x218]
call fcn.140062ead
mov rbx, r15
mov qword [r12], rbx
mov byte [r12 + 0xda], 2
jmp 0x14008df5c
cmp dil, 2
sete bl
je 0x14008e07f
cmp r13b, 2
sete sil
je 0x14008e09b
cmp dword [rsp + 0x34], 0
je 0x14008e0b1
lea rdx, [rsp + 0xd0]
mov ecx, 0xd
mov rdi, rdx
lea rsi, [rsp + 0x220]
rep movsq qword [rdi], qword [rsi]
lea rdi, [rsp + 0x138]
lea rsi, [rsp + 0x1a8]
mov ecx, 0x6a
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x1b0]
mov al, byte [rcx + 0x67]
lea rsi, [rsp + 0x2f8]
mov byte [rsi + 0xd7], al
mov eax, dword [rcx + 0x63]
mov dword [rsi + 0xd3], eax
mov r8d, 0xd2
mov rcx, rsi
call fcn.1402698b0
mov qword [rsi - 8], r14
mov byte [rsi + 0xd2], r13b
mov eax, dword [rsp + 0x64]
mov dword [rsi + 0xd8], eax
test r15, r15
je 0x14008def4
cmp r15, r12
jne 0x14008e104
lea rdx, [rsp + 0x2f0]
mov r8d, 0xe8
mov rcx, qword [rsp + 0x38]
call fcn.1402698b0
jmp 0x14008df5c
mov r14, qword [rsp + 0xd8]
mov sil, 1
mov bl, 1
test sil, sil
je 0x14008df33
cmp r13b, 2
je 0x14008df33
lea rcx, [rsp + 0x1a8]
call fcn.140062ead
mov r15, r14
mov rsi, qword [rsp + 0x38]
test bl, bl
je 0x14008df52
cmp dil, 2
je 0x14008df52
lea rcx, [rsp + 0x218]
call fcn.140062ead
mov qword [rsi], r15
mov byte [rsi + 0xda], 2
add rsp, 0x3d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov bl, 1
jmp 0x14008df36
cmp dword [rsp + 0xd4], 0
je 0x14008e181
lea rdx, [rsp + 0xd0]
mov r15d, dword [rdx + 8]
mov ecx, 0xd
mov rdi, rdx
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
lea r14, [rsp + 0x138]
lea rsi, [rsp + 0x1a8]
mov ecx, 0x6a
mov rdi, r14
rep movsb byte [rdi], byte [rsi]
mov al, byte [rsp + 0x30]
lea rsi, [rsp + 0x2f8]
mov byte [rsi + 0xd7], al
mov eax, dword [rsp + 0x2c]
mov dword [rsi + 0xd3], eax
mov r8d, 0xd2
rol byte [rax], cl
add byte [rax], al
mov rcx, rsi
call fcn.1402698b0
mov qword [rsi - 8], rbx
mov byte [rsi + 0xd2], bpl
mov dword [rsi + 0xd8], r15d
mov rax, qword [rsp + 0x58]
mov qword [r14 - 0x58], rax
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [r14 - 0x68], xmm0
lea rcx, [rsp + 0xd0]
call fcn.14006ff44
test rax, rax
je 0x14008e069
mov qword [r12], rax
mov byte [r12 + 0xda], 2
jmp 0x14008e13f
lea r8, [0x140275218]
lea rax, [rsp + 0x288]
mov rcx, rdx
mov rdx, rax
call fcn.14026d339
mov qword [r12], rax
jmp 0x14008de3b
lea rdx, str.struct_ProximityAlertTriggered_with_3_elements
lea r8, [0x140273eb8]
xor ecx, ecx
call fcn.14026d1b7
mov rbx, rax
jmp 0x14008de37
lea rdx, [rsp + 0x2f0]
mov r8d, 0xe8
mov rcx, r12
jmp 0x14008df07
lea rcx, [0x1402e96e6]
mov edx, 8
call fcn.14026d161
mov r14, rax
mov sil, 1
jmp 0x14008df1b
lea rcx, [0x1402e96ee]
mov edx, 7
call fcn.14026d161
mov r14, rax
jmp 0x14008e0d2
lea rcx, [0x1402e96f5]
mov edx, 8
call fcn.14026d161
mov r14, rax
lea rcx, [rsp + 0x1a8]
call fcn.140062ead
lea rcx, [rsp + 0x218]
call fcn.140062ead
jmp 0x14008df1b
lea rdx, str.struct_ProximityAlertTriggered_with_3_elements
lea r8, [0x140273eb8]
mov ecx, 1
call fcn.14026d1b7
mov r15, rax
jmp 0x14008de27
mov rax, qword [rsp + 0x80]
sub r12, r15
shr r12, 6
add r12, rax
lea rdx, [rsp + 0xd0]
mov qword [rdx], rax
lea r8, [0x14027bef0]
mov rcx, r12
call fcn.14026d1b7
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov byte [rcx + 0xda], 2
lea rcx, [rsp + 0x2f0]
call fcn.1400651a5
jmp 0x14008df5c
lea rcx, [0x1402e96f5]
jmp 0x14008e161
lea rcx, [0x1402e96e6]
mov edx, 8
jmp 0x14008e174
lea rcx, [0x1402e96ee]
mov edx, 7
call fcn.14026d227
mov r14, rax
jmp 0x14008df16
lea rdx, str.struct_ProximityAlertTriggered_with_3_elements
lea r8, [0x140273eb8]
mov ecx, 2
call fcn.14026d1b7
mov r15, rax
jmp 0x14008de1a
lea r8, [0x140275c78]
lea rdx, [rsp + 0x288]
mov rcx, r15
call fcn.14026d339
jmp 0x14008e179