Function at 0x4127a0
Capabilities:
Get geographical location

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x412a79
sub rsp, 0x30
mov qword [rsp + 0x28], rbp
lea rbp, [rsp + 0x28]
mov qword [rsp + 0x48], rcx
nop dword [rax]
test rbx, rbx
je 0x412a65
movzx ecx, byte [rbx + 8]
test cl, 4
jne 0x412a54
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rax
mov rdx, qword [rax + 0x48]
mov rcx, qword [rdx]
mov esi, dword [rbx + 0xc]
lea rax, [rsp + 0x48]
mov rbx, rsi
call rcx
mov qword [rsp + 0x18], rax
mov rbx, qword [rsp + 0x40]
movzx ecx, byte [rbx + 8]
xor ecx, 4
mov byte [rbx + 8], cl
cmp qword [rbx + 0x10], 0
jne 0x41284c
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rdx + 0x40]
mov rax, qword [rbx]
mov ecx, 1
call fcn.0040dcc0
cmp dword [0x0119ba70], 0
jne 0x412839
mov rbx, qword [rsp + 0x40]
mov qword [rbx + 0x10], rax
jmp 0x412847
mov rbx, qword [rsp + 0x40]
lea rdi, [rbx + 0x10]
call fcn.00465700
mov rax, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x38]
jmp 0x412872
mov rax, rdx
call fcn.00410da0
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x18]
mov rax, rcx
mov rdx, qword [rsp + 0x38]
movzx ecx, byte [rbx + 9]
mov esi, 1
shl rsi, cl
lea rcx, [rsi - 1]
and rcx, rax
cmp qword [rbx + 0x18], 0
je 0x4128ad
mov qword [rsp + 0x20], rcx
mov rax, rdx
call fcn.00413100
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
movzx esi, word [rdx + 0x52]
imul rcx, rsi
add rcx, qword [rbx + 0x10]
xor edi, edi
xor r8d, r8d
nop
jmp 0x412939
mov r11, r9
mov rcx, rdi
mov r9, r8
cmp qword [rbx + 0x18], 0
jne 0x4129bf
mov rsi, qword [rbx]
inc rsi
movzx edi, byte [rbx + 9]
cmp rsi, 8
jle 0x41290b
mov r8, rcx
mov ecx, edi
mov r10d, 1
shl r10, cl
shr r10, 1
lea r12, [r10 + r10*2]
lea r10, [r10 + r12*4]
nop
cmp r10, rsi
jb 0x412853
jmp 0x412910
mov r8, rcx
mov ecx, edi
movzx esi, word [rbx + 0xa]
cmp cl, 0xf
jbe 0x41291e
mov ecx, 0xf
and ecx, 0xf
mov edi, 1
shl edi, cl
cmp si, di
jae 0x412853
jmp 0x4129c2
mov rcx, r10
xor r9d, r9d
jmp 0x412966
mov r9, rcx
lea r10, [rcx + rsi]
lea r10, [r10 - 8]
mov r10, qword [r10]
test r10, r10
jne 0x412936
jmp 0x4128c2
lea r10, [rdi + 1]
mov rdi, rcx
mov r8, r9
mov rcx, r11
mov r9, r10
cmp r9, 8
jae 0x41293e
test byte [rcx], al
movzx r10d, byte [rcx + r9]
cmp r10b, 1
ja 0x412994
test rdi, rdi
mov r11, rcx
cmovne rcx, rdi
mov rdi, r9
cmovne r9, r8
test r10b, r10b
jne 0x412956
jmp 0x4128cb
mov r10, rcx
lea r11, [rcx + r9*8]
lea r11, [r11 + 8]
mov r11, qword [r11]
cmp qword [rsp + 0x48], r11
je 0x4129b7
mov r11, r10
mov rcx, rdi
mov rdi, r9
mov r9, r8
jmp 0x412956
mov rcx, r10
mov rsi, r9
jmp 0x412a1a
mov r8, rcx
test r8, r8
jne 0x4129ea
mov rax, rbx
mov rbx, rdx
mov rcx, r11
call fcn.0040ef60
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov r8, rax
xor r9d, r9d
mov rax, qword [rsp + 0x18]
shr rax, 0x38
cmp al, 5
jae 0x4129f5
add eax, 5
test byte [r8], al
mov rsi, r9
and r9, 7
mov byte [r8 + r9], al
mov rcx, r8
lea rdi, [r8 + rsi*8]
lea rdi, [rdi + 8]
nop
mov r8, qword [rsp + 0x48]
mov qword [rdi], r8
inc qword [rbx]
movzx edx, byte [rdx + 0x51]
imul rsi, rdx
movzx edx, byte [rbx + 8]
lea rax, [rsi + rcx]
lea rax, [rax + 0x48]
test dl, 4
je 0x412a43
and edx, 0xfffffffb
mov byte [rbx + 8], dl
mov rbp, qword [rsp + 0x28]
add rsp, 0x30
ret
lea rax, [0x00ad1e90]
mov ebx, 0x15
call fcn.00437b60
lea rax, [0x00ad1e90]
mov ebx, 0x15
call fcn.00437b60
lea rax, [0x00a1abe0]
lea rbx, [0x00df5120]
call fcn.004373c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00463480
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
jmp fcn.004127a0