Function at 0x140020d80
Capabilities:
Get geographical location

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140021174
sub rsp, 0x68
mov qword [rsp + 0x60], rbp
lea rbp, [rsp + 0x60]
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x78], rbx
nop
movabs rdx, 0x800000000000
add rdx, rcx
mov rsi, rdx
shr rdx, 0x2a
cmp rdx, 0x40
jb 0x140020dd1
xor edx, edx
jmp 0x140020e15
lea r8, [0x140e60d70]
mov rdx, qword [r8 + rdx*8]
nop dword [rax]
test rdx, rdx
je 0x140020e13
shr rsi, 0x16
and esi, 0xfffff
mov rdx, qword [rdx + rsi*8]
test rdx, rdx
je 0x140020e0f
shr rcx, 0xd
and ecx, 0x1ff
mov rcx, qword [rdx + rcx*8 + 0x10400]
mov rdx, rcx
jmp 0x140020e15
xor edx, edx
jmp 0x140020e15
xor edx, edx
mov qword [rsp + 0x20], rdx
call fcn.140039c00
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
call fcn.14003a500
lea rax, [0x1408cbca0]
mov ebx, 1
call fcn.14003a500
mov rax, qword [rsp + 0x80]
call fcn.14003a360
call fcn.140039c80
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x140020fe9
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x50], rcx
movzx edx, byte [rax + 0x62]
mov qword [rsp + 0x48], rdx
mov rbx, qword [rax + 0x68]
mov qword [rsp + 0x40], rbx
mov rsi, qword [rax + 0x18]
mov qword [rsp + 0x18], rsi
call fcn.140039c00
lea rax, [0x1407d14aa]
mov ebx, 0xa
call fcn.14003a500
mov rax, qword [rsp + 0x18]
nop
call fcn.14003a360
lea rax, [0x1407d0983]
mov ebx, 9
call fcn.14003a500
mov rax, qword [rsp + 0x50]
nop dword [rax + rax]
call fcn.14003a360
lea rax, [0x1407d375e]
mov ebx, 0xd
call fcn.14003a500
mov rax, qword [rsp + 0x48]
nop dword [rax + rax]
call fcn.14003a200
lea rax, [0x1407d2b40]
mov ebx, 0xc
call fcn.14003a500
mov rax, qword [rsp + 0x40]
nop dword [rax + rax]
call fcn.14003a200
lea rax, [0x1407d098c]
mov ebx, 9
call fcn.14003a500
call fcn.140039c80
nop
mov rax, qword [rsp + 0x20]
mov cl, byte [rax + 0x63]
movzx edx, cl
mov rbx, qword [str._zh_]
mov rsi, qword [0x140684728]
cmp rsi, rdx
jle 0x140020f71
shl rdx, 4
mov rax, qword [rbx + rdx]
mov qword [rsp + 0x58], rax
mov rcx, qword [rbx + rdx + 8]
mov qword [rsp + 0x38], rcx
call fcn.140039c00
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x38]
call fcn.14003a500
call fcn.140039e60
call fcn.140039c80
jmp 0x140020fae
mov byte [rsp + 0x17], cl
call fcn.140039c00
lea rax, [0x1407d084a]
mov ebx, 8
call fcn.14003a500
movzx eax, byte [rsp + 0x17]
movzx eax, al
call fcn.14003a200
lea rax, [0x1407c4d54]
mov ebx, 2
call fcn.14003a500
call fcn.140039c80
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 0x68]
nop
mov al, byte [rax + 0x63]
cmp al, 2
jne 0x140020fd3
nop
test rcx, rcx
jne 0x140020fd3
mov rcx, qword [rsp + 0x88]
lea rax, [rcx + 8]
jmp 0x140020fde
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
xor edx, edx
xor ebx, ebx
jmp 0x140021013
call fcn.140039c00
lea rax, [0x1407ce84b]
mov ebx, 7
call fcn.14003a500
nop
call fcn.140039c80
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
add rdx, 8
cmp rax, rdx
jbe 0x140021148
nop dword [rax]
cmp rdx, 0x400
jb 0x140021045
lea rsi, [rcx - 0x80]
cmp rdx, rsi
jbe 0x14002103e
lea rsi, [rcx + 0x80]
cmp rdx, rsi
jb 0x140021045
mov ebx, 1
jmp 0x14002100f
mov qword [rsp + 0x30], rdx
test bl, bl
je 0x14002106f
call fcn.140039c00
lea rax, [0x1407c69c2]
mov ebx, 5
nop
call fcn.14003a500
call fcn.140039c80
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x80]
lea rcx, [rdx + rax]
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
call fcn.140039c00
lea rax, [0x1407c5225]
mov ebx, 3
call fcn.14003a500
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
call fcn.14003a500
lea rax, [0x1408cbbd0]
mov ebx, 1
call fcn.14003a500
mov rax, qword [rsp + 0x30]
nop
call fcn.14003a200
lea rax, [0x1407c5c90]
mov ebx, 4
call fcn.14003a500
mov rax, qword [rsp + 0x50]
nop dword [rax + rax]
call fcn.14003a360
call fcn.140039c80
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
jne 0x140021120
nop dword [rax]
call fcn.140039c00
lea rax, [0x1407c5c34]
mov ebx, 4
call fcn.14003a500
call fcn.140039c80
nop dword [rax + rax]
call fcn.140039c00
call fcn.140039e60
call fcn.140039c80
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x30]
xor ebx, ebx
jmp 0x14002100f
test bl, bl
je 0x14002116a
call fcn.140039c00
lea rax, [0x1407c69c2]
mov ebx, 5
nop dword [rax]
call fcn.14003a500
call fcn.140039c80
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.140065b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.140020d80