Function at 0x18001a8d0
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1801878e0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rbx, rcx
xor eax, eax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], rax
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x2f], rax
mov qword [rbp + 0x37], rax
mov qword [rbp - 0x31], reloc.WS2_32.dll_ntohs
xor r14d, r14d
mov qword [rbp - 0x39], r14
mov byte [rbp - 0x49], al
lea r8d, [rax + 0x19]
lea rdx, str.SoftwarexiaoyuCityCheck
lea rcx, [rbp - 0x49]
call fcn.1800023a0
nop
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [rbp - 0x49]
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 7]
call fcn.180013d90
nop
mov rax, qword [rbp - 0x31]
cmp rax, 0x10
jb 0x18001a9bb
inc rax
mov rcx, qword [rbp - 0x49]
cmp rax, 0x1000
jb 0x18001a9b6
test cl, 0x1f
je 0x18001a989
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001a998
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001a9a7
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001a9b3
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
mov qword [rbp - 0x31], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x39], r14
mov byte [rbp - 0x49], 0
mov qword [rbp - 9], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x11], r14
mov byte [rbp - 0x21], 0
mov r8d, 4
lea rdx, [0x1800ac874]
lea rcx, [rbp - 0x21]
call fcn.1800023a0
nop
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x69]
lea rcx, [rbp + 7]
call fcn.180013ea0
mov rdx, rax
mov rcx, rbx
call fcn.180005bd0
mov rax, qword [rbp - 0x51]
cmp rax, 0x10
jb 0x18001aa64
inc rax
mov rcx, qword [rbp - 0x69]
cmp rax, 0x1000
jb 0x18001aa5f
test cl, 0x1f
je 0x18001aa32
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001aa41
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001aa50
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001aa5c
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
mov qword [rbp - 0x51], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x59], r14
mov byte [rbp - 0x69], 0
mov rax, qword [rbp - 9]
cmp rax, 0x10
jb 0x18001aaca
inc rax
mov rcx, qword [rbp - 0x21]
cmp rax, 0x1000
jb 0x18001aac5
test cl, 0x1f
je 0x18001aa98
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001aaa7
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001aab6
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001aac2
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
mov sil, 1
cmp qword [rbx + 0x10], 0
je 0x18001ac30
mov rdi, r14
mov qword [rbp - 1], r14
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 0x51], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x59], r14
mov byte [rbp - 0x69], al
lea r8d, [rax + 4]
lea rdx, [0x1800ca74c]
lea rcx, [rbp - 0x69]
call fcn.1800023a0
nop
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x21]
lea rcx, [rbp + 7]
call fcn.180014090
nop
mov rax, qword [rbp - 0x51]
cmp rax, 0x10
jb 0x18001ab79
inc rax
mov rcx, qword [rbp - 0x69]
cmp rax, 0x1000
jb 0x18001ab74
test cl, 0x1f
je 0x18001ab47
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ab56
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ab65
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001ab71
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
mov rdx, qword [rbp - 0x21]
mov r8, qword [rbp - 0x19]
cmp rdx, r8
je 0x18001ab96
sub r8, rdx
lea rcx, [rbp - 1]
call fcn.18007f700
mov rdi, qword [rbp - 1]
xor ecx, ecx
call fcn.18008209c
mov rcx, rax
sub rcx, rdi
movabs rax, 0x1845c8a0ce512957
imul rcx
sar rdx, 0xd
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cqo
xor rax, rdx
sub rax, rdx
movzx edi, sil
cmp rax, 5
cmovl edi, r14d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x18001ac27
mov rax, qword [rbp - 0x11]
sub rax, rcx
cmp rax, 0x1000
jb 0x18001ac22
test cl, 0x1f
je 0x18001abf5
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ac04
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ac13
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001ac1f
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
test dil, dil
je 0x18001aed3
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.18001a480
mov rdx, rax
mov rcx, rbx
call fcn.180005bd0
mov rax, qword [rbp - 0x51]
cmp rax, 0x10
jb 0x18001ac9d
inc rax
mov rcx, qword [rbp - 0x69]
cmp rax, 0x1000
jb 0x18001ac98
test cl, 0x1f
je 0x18001ac6b
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ac7a
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ac89
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001ac95
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
mov qword [rbp - 0x51], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x59], r14
mov byte [rbp - 0x69], 0
mov r8d, 4
lea rdx, [0x1800ac874]
lea rcx, [rbp - 0x69]
call fcn.1800023a0
nop
mov r8, rbx
lea rdx, [rbp - 0x69]
lea rcx, [rbp + 7]
call fcn.180013e20
nop
mov rax, qword [rbp - 0x51]
cmp rax, 0x10
jb 0x18001ad2b
inc rax
mov rcx, qword [rbp - 0x69]
cmp rax, 0x1000
jb 0x18001ad26
test cl, 0x1f
je 0x18001acf9
call fcn.18008185c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ad08
call fcn.18008185c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ad17
call fcn.18008185c
int3
cmp rcx, 0x27
jbe 0x18001ad23
call fcn.18008185c
int3
mov rcx, rax
call fcn.18005e5ac
xor ecx, ecx
call fcn.18008209c
mov qword [rbp - 1], rax
lea rbx, [rbp - 1]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov r9, r14
mov qword [rbp - 0x11], r14
mov esi, r14d
mov rax, qword [rbp - 0x19]
mov r8, qword [rbp - 0x21]
cmp rbx, rax
jae 0x18001add2
cmp r8, rbx
ja 0x18001add2
mov rdi, rbx
sub rdi, r8
cmp rax, r9
jne 0x18001adc4
mov rcx, r9
sub rcx, rax
cmp rcx, 1
jae 0x18001adc4
sub rax, r8
mov rcx, rax
not rcx
cmp rcx, 1
jb 0x18001ae5a
lea rdx, [rax + 1]
sub r9, r8
mov rax, r9
shr rax, 1
mov rcx, rax
not rcx
add rax, r9
mov r8, r14
cmp rcx, r9
cmovae r8, rax
cmp r8, rdx
cmovae rdx, r8
lea rcx, [rbp - 0x21]
call fcn.180002900
mov r9, qword [rbp - 0x11]
mov rax, qword [rbp - 0x19]
mov r8, qword [rbp - 0x21]
lea rcx, [r8 + rdi]
test rax, rax
je 0x18001ae44
movzx ecx, byte [rcx]
jmp 0x18001ae36
cmp rax, r9
jne 0x18001ae2e
mov rcx, r9
sub rcx, rax
cmp rcx, 1
jae 0x18001ae2e
sub rax, r8
mov rcx, rax
not rcx
cmp rcx, 1
jb 0x18001ae67
lea rdx, [rax + 1]
sub r9, r8
mov rax, r9
shr rax, 1
mov rcx, rax
not rcx
add rax, r9
mov r8, r14
cmp rcx, r9
cmovae r8, rax
cmp r8, rdx
cmovae rdx, r8
lea rcx, [rbp - 0x21]
call fcn.180002900
mov r9, qword [rbp - 0x11]
mov rax, qword [rbp - 0x19]
mov r8, qword [rbp - 0x21]
test rax, rax
je 0x18001ae44
movzx ecx, byte [rbx]
mov byte [rax], cl
mov r9, qword [rbp - 0x11]
mov r8, qword [rbp - 0x21]
mov rax, qword [rbp - 0x19]
inc rax
mov qword [rbp - 0x19], rax
inc rbx
inc esi
cmp esi, 8
jae 0x18001ae74
jmp 0x18001ad54
lea rcx, str.vector_T__too_long
call fcn.18001b220
int3
lea rcx, str.vector_T__too_long
call fcn.18001b220
int3
mov qword [rbp - 0x51], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x59], r14
mov byte [rbp - 0x69], 0
mov r8d, 4
lea rdx, [0x1800ca74c]
lea rcx, [rbp - 0x69]
call fcn.1800023a0
nop
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x69]
lea rcx, [rbp + 7]
call fcn.180014010
nop
lea rcx, [rbp - 0x69]
call fcn.180002120
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x18001aed3
mov rdx, qword [rbp - 0x11]
sub rdx, rcx
mov r8d, 1
call fcn.180001510
nop
lea rcx, [rbp + 7]
call fcn.180013df0
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.18005ef00
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret