Function at 0x412ac0
Capabilities:
Get geographical location

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x412db0
sub rsp, 0x30
mov qword [rsp + 0x28], rbp
lea rbp, [rsp + 0x28]
mov qword [rsp + 0x48], rcx
nop dword [rax]
test rbx, rbx
je 0x412d9c
movzx ecx, byte [rbx + 8]
test cl, 4
jne 0x412d8b
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 0x412b6c
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 0x412b59
mov rbx, qword [rsp + 0x40]
mov qword [rbx + 0x10], rax
jmp 0x412b67
mov rbx, qword [rsp + 0x40]
lea rdi, [rbx + 0x10]
call fcn.00465700
mov rax, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x38]
jmp 0x412b92
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 0x412bcd
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 0x412c5e
mov r11, r9
mov rcx, rdi
mov r9, r8
cmp qword [rbx + 0x18], 0
jne 0x412ce5
mov rsi, qword [rbx]
inc rsi
movzx r8d, byte [rbx + 9]
cmp rsi, 8
jle 0x412c2c
mov rdi, rcx
mov ecx, r8d
mov r10d, 1
shl r10, cl
shr r10, 1
lea r12, [r10 + r10*2]
lea r10, [r10 + r12*4]
cmp r10, rsi
jb 0x412b73
jmp 0x412c32
mov rdi, rcx
mov ecx, r8d
movzx esi, word [rbx + 0xa]
cmp cl, 0xf
jbe 0x412c40
mov ecx, 0xf
and ecx, 0xf
mov r8d, 1
shl r8d, cl
cmp si, r8w
jae 0x412b73
jmp 0x412ce8
mov rcx, r10
xor r9d, r9d
jmp 0x412c8c
mov r9, rcx
lea r10, [rcx + rsi]
lea r10, [r10 - 8]
mov r10, qword [r10]
test r10, r10
jne 0x412c5b
jmp 0x412be2
lea r10, [r12 + 1]
mov rdi, rcx
mov r8, r9
mov rcx, r11
mov r9, r10
cmp r9, 8
jae 0x412c63
test byte [rcx], al
movzx r10d, byte [rcx + r9]
cmp r10b, 1
ja 0x412cba
test rdi, rdi
mov r11, rcx
cmovne rcx, rdi
mov r12, r9
cmovne r9, r8
test r10b, r10b
jne 0x412c7b
jmp 0x412beb
mov r10, rcx
lea r11, [rcx + r9*8]
lea r11, [r11 + 8]
mov r11, qword [r11]
cmp qword [rsp + 0x48], r11
je 0x412cdd
mov r11, r10
mov r12, r9
mov rcx, rdi
mov r9, r8
jmp 0x412c7b
mov rsi, r10
mov rcx, r9
jmp 0x412d51
mov rdi, rcx
test rdi, rdi
jne 0x412d10
mov rax, rbx
mov rbx, rdx
mov rcx, r11
call fcn.0040ef60
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rdi, rax
xor r9d, r9d
mov rax, qword [rsp + 0x18]
shr rax, 0x38
cmp al, 5
jae 0x412d1b
add eax, 5
test byte [rdi], al
mov rcx, r9
and r9, 7
mov byte [rdi + r9], al
mov rsi, rdi
lea rdi, [rdi + rcx*8]
lea rdi, [rdi + 8]
test byte [rdi], al
nop
mov r8, qword [rsp + 0x48]
cmp dword [0x0119ba70], 0
jne 0x412d49
mov qword [rdi], r8
jmp 0x412d4e
call fcn.00465880
inc qword [rbx]
movzx edx, byte [rdx + 0x51]
imul rcx, rdx
movzx edx, byte [rbx + 8]
lea rax, [rcx + rsi]
lea rax, [rax + 0x48]
test dl, 4
je 0x412d7a
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
nop
call fcn.00463480
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00412ac0