Function at 0x14001c6a4
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140101018]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor eax, eax
mov byte [rcx + 0xdc], al
mov byte [rcx + 0xe6], al
mov dword [rcx + 0xfc], 0
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x40]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, str.user
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14001c72e
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
test bl, bl
je 0x14001c741
mov dword [rdi + 0xd8], 0
jmp 0x14001cb2f
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x40]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, str.userpublic
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14001c788
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
test bl, bl
je 0x14001c79b
mov dword [rdi + 0xd8], 2
jmp 0x14001cb2f
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x40]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, str.userprivate
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14001c7e2
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
test bl, bl
je 0x14001c7f5
mov dword [rdi + 0xd8], 1
jmp 0x14001cb2f
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x40]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, [0x1400d5eea]
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14001c83c
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
test bl, bl
je 0x14001c84f
mov dword [rdi + 0xd8], 4
jmp 0x14001cb2f
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x40]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, str.proxy
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14001c896
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
test bl, bl
je 0x14001c8a9
mov dword [rdi + 0xd8], 8
jmp 0x14001cb2f
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea rbx, [rsp + 0x40]
mov rcx, rax
mov rdx, rbx
call fcn.14005e9d2
lea rdx, str.country
mov rcx, rbx
call fcn.14000c466
mov bl, 1
test al, al
jne 0x14001c92a
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea r14, [rsp + 0x130]
mov rcx, rax
mov rdx, r14
call fcn.14005e9d2
lea rdx, str.exact
mov rcx, r14
call fcn.14000c466
mov ebx, eax
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14001c92a
mov rcx, qword [rsp + 0x130]
inc rdx
call fcn.14000154d
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14001c942
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
test bl, bl
je 0x14001cb2f
lea rdx, str.connect_to_best_method
mov rcx, rsi
call fcn.140060218
lea rbx, [rsp + 0x40]
mov rcx, rax
mov rdx, rbx
call fcn.14005e9d2
lea rdx, str.country
mov rcx, rbx
call fcn.14000c466
movzx eax, al
xor eax, 7
mov dword [rdi + 0xd8], eax
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14001c99b
mov rcx, qword [rsp + 0x40]
inc rdx
call fcn.14000154d
movaps xmm0, xmmword [section..rdata]
lea rbx, [rsp + 0x130]
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
lea rdx, str.connect_country
mov rcx, rsi
call fcn.140060218
mov rcx, rax
mov rdx, rbx
call fcn.14005e9d2
lea r14, [rsp + 0x40]
mov r8d, 0xf0
mov rcx, r14
mov dl, 0xaa
call fcn.1400a3cc0
mov rcx, r14
mov rdx, rbx
mov r8d, 1
mov r9d, 1
call fcn.14001cb5c
xorps xmm0, xmm0
lea rbx, [rsp + 0x20]
movaps xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], recv
mov rcx, r14
mov rdx, rbx
mov r8b, 0x7c
call fcn.14003d250
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
test byte [rax + rcx + 0x10], 6
jne 0x14001cad7
lea r14, [rdi + 0xdc]
lea r15, [rdi + 0xe6]
xor ebp, ebp
lea r12, [0x1400d5010]
lea r13, [rsp + 0x40]
test ebp, ebp
je 0x14001ca5e
cmp ebp, 1
je 0x14001ca78
cmp ebp, 2
jne 0x14001ca98
jmp 0x14001cab8
cmp qword [rsp + 0x38], 0x10
mov r9, rbx
jb 0x14001ca6e
mov r9, qword [rsp + 0x20]
mov edx, 0xa
mov rcx, r14
jmp 0x14001ca90
cmp qword [rsp + 0x38], 0x10
mov r9, rbx
jb 0x14001ca88
mov r9, qword [rsp + 0x20]
mov edx, setsockopt
mov rcx, r15
mov r8, r12
call fcn.140001054
inc ebp
mov rcx, r13
mov rdx, rbx
mov r8b, 0x7c
call fcn.14003d250
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
test byte [rax + rcx + 0x10], 6
je 0x14001ca4e
jmp 0x14001cad7
cmp qword [rsp + 0x38], 0x10
jb 0x14001cac7
mov rcx, qword [rsp + 0x20]
jmp 0x14001cacc
lea rcx, [rsp + 0x20]
call fcn.1400b71ec
mov dword [rdi + 0xfc], eax
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14001caef
mov rcx, qword [rsp + 0x20]
inc rdx
call fcn.14000154d
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.140037b90
lea rax, vtable.std::ios_base.0
mov qword [rdi], rax
mov rcx, rdi
call fcn.140079e64
mov rdx, qword [rsp + 0x148]
cmp rdx, 0x10
jb 0x14001cb2f
mov rcx, qword [rsp + 0x130]
inc rdx
call fcn.14000154d
mov rcx, rsi
call fcn.14005de10
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140079b60
nop
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret