Function at 0x140016900
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140101018]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rdx, qword [str.y_r_]
mov rcx, rsi
call fcn.1400603a2
test al, al
je 0x14001698f
lea rdx, str.y_r_
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x70]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, [0x1400d5115]
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140016991
mov rcx, qword [rsp + 0x70]
inc rdx
call fcn.14000154d
jmp 0x140016991
xor ebx, ebx
mov rdx, qword [str.y_r_]
mov rcx, rsi
call fcn.1400603a2
test al, al
je 0x1400169ed
lea rdx, str.y_r_
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x70]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, [0x1400d5115]
mov rcx, r14
call fcn.14000c466
mov ebp, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1400169ef
mov rcx, qword [rsp + 0x70]
inc rdx
call fcn.14000154d
jmp 0x1400169ef
xor ebp, ebp
movaps xmm6, xmmword [section..rdata]
lea r12, [rsp + 0xe0]
movaps xmmword [r12 + 0x10], xmm6
movaps xmmword [r12], xmm6
lea rdx, str.t_r_
mov rcx, rsi
call fcn.140060218
mov rcx, rax
mov rdx, r12
call fcn.14005e9d2
lea r15, [rsp + 0xc0]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
lea rdx, str.city
mov rcx, rsi
call fcn.140060218
mov rcx, rax
mov rdx, r15
call fcn.14005e9d2
lea r14, [rsp + 0xa0]
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
lea rdx, [0x1400e7e18]
mov rcx, rsi
call fcn.140060218
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
test bl, bl
je 0x140016aec
lea rdx, str.private
lea rcx, [rsp + 0xe0]
xor r8d, r8d
call fcn.140014dd0
test rax, rax
jne 0x140016aec
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r13, [rsp + 0x70]
lea rdx, [rsp + 0xe0]
mov r8d, 7
mov rcx, r13
mov r9, 0xffffffffffffffff
call fcn.140015502
lea rcx, [rsp + 0xe0]
mov rdx, r13
call fcn.1400012b4
mov rdx, qword [r13 + 0x18]
cmp rdx, 0x10
jb 0x140016aec
mov rcx, qword [rsp + 0x70]
inc rdx
call fcn.14000154d
cmp qword [rsp + 0xf8], 0x10
jb 0x140016aff
mov r12, qword [rsp + 0xe0]
lea r13, [0x1400d5010]
mov edx, 0xa
mov rcx, rdi
mov r8, r13
mov r9, r12
call fcn.140001054
cmp qword [rsp + 0xd8], 0x10
jb 0x140016b2c
mov r15, qword [rsp + 0xc0]
lea rcx, [rdi + 0xa]
mov edx, setsockopt
mov r8, r13
mov r9, r15
call fcn.140001054
lea rdx, [0x1400e7e10]
mov rcx, rsi
call fcn.140060218
lea r15, [rsp + 0x70]
mov rcx, rax
mov rdx, r15
call fcn.14005e9d2
mov r15, qword [r15 + 0x18]
cmp r15, 0xf
jbe 0x140016b89
mov r12, qword [rsp + 0x70]
mov rcx, r12
call fcn.1400b71ec
mov dword [rdi + 0x20], eax
inc r15
mov rcx, r12
mov rdx, r15
call fcn.14000154d
jmp 0x140016b96
lea rcx, [rsp + 0x70]
call fcn.1400b71ec
mov dword [rdi + 0x20], eax
mov byte [rdi + 0x24], bl
mov byte [rdi + 0x25], bpl
lea rdx, str.torrent
mov rcx, rsi
call fcn.140060218
lea r15, [rsp + 0x70]
mov rcx, rax
mov rdx, r15
call fcn.14005e9d2
lea rdx, [0x1400d5121]
mov rcx, r15
call fcn.140016df8
mov ebx, eax
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x140016be4
mov rcx, qword [rsp + 0x70]
inc rdx
call fcn.14000154d
test ebx, ebx
setne byte [rdi + 0x26]
mov word [rdi + 0x28], 0
cmp qword [rsp + 0xb8], 0x10
jb 0x140016c03
mov r14, qword [rsp + 0xa0]
lea rcx, [rdi + 0x252]
lea r8, [0x1400d5010]
mov edx, setsockopt
mov r9, r14
call fcn.140001054
mov rdx, qword [str.publicIP]
mov rcx, rsi
call fcn.1400603a2
test al, al
je 0x140016d69
lea rdx, str.publicIP
mov rcx, rsi
call fcn.140060218
mov rbx, rax
lea r14, [rsp + 0x40]
movaps xmmword [r14], xmm6
mov rcx, rax
mov rdx, r14
call fcn.140060990
lea r15, [rsp + 0x30]
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.1400609c2
mov rcx, r14
mov rdx, r15
call fcn.14005de9a
test al, al
mov qword [rsp + 0x28], rdi
je 0x140016c8a
xor edi, edi
jmp 0x140016d60
lea rbx, [rdi + 0x2a]
xor edi, edi
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x70]
lea r12, [rsp + 0x50]
lea r13, [0x1400d5010]
lea rbp, [rsp + 0x30]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x90], rax
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
mov rcx, r14
call fcn.14005de8c
mov rcx, r15
mov rdx, rax
call fcn.14005e49a
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
mov rcx, r15
mov rdx, r12
call fcn.14005e9d2
cmp qword [rsp + 0x68], 0x10
mov r9, r12
jb 0x140016d02
mov r9, qword [rsp + 0x50]
mov edx, 0x2e
mov rcx, rbx
mov r8, r13
call fcn.140001054
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140016d2a
mov rcx, qword [rsp + 0x50]
inc rdx
call fcn.14000154d
mov rcx, r15
call fcn.14005de10
cmp rdi, 0xb
je 0x140016d5c
mov rcx, r14
call fcn.14005de94
mov rcx, r14
mov rdx, rbp
call fcn.14005de9a
add rbx, 0x2e
inc rdi
test al, al
je 0x140016cab
jmp 0x140016d60
mov di, 0xc
mov rax, qword [rsp + 0x28]
mov word [rax + 0x28], di
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0x10
jb 0x140016d87
mov rcx, qword [rsp + 0xa0]
inc rdx
call fcn.14000154d
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0x10
jb 0x140016da5
mov rcx, qword [rsp + 0xc0]
inc rdx
call fcn.14000154d
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0x10
jb 0x140016dc3
mov rcx, qword [rsp + 0xe0]
inc rdx
call fcn.14000154d
mov rcx, rsi
call fcn.14005de10
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140079b60
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret