Function at 0x1400318b0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
jne 0x1400318dc
mov rax, qword [rcx + 0x10]
mov byte [rax + 8], dl
add qword [rcx + 0x10], 0x10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
call fcn.140104290
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
mov byte [rcx + 8], 0x45
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031909
mov rcx, rdi
call fcn.1400ebbc0
lea rdx, str.name
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031940
mov rcx, rdi
call fcn.1400ebbc0
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x14003195b
mov rdx, qword [rsi]
test rdx, rdx
jne 0x14003195b
mov rax, qword [rdi + 0x10]
mov byte [rax + 8], dl
jmp 0x140031973
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x14003198b
mov rcx, rdi
call fcn.1400ebbc0
mov rcx, rdi
call fcn.1400d94e0
lea rdx, [0x1401ae8a8]
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x1400319ca
mov rcx, rdi
call fcn.1400ebbc0
mov rcx, rdi
call fcn.140104290
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
mov byte [rcx + 8], 0x45
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x1400319f5
mov rcx, rdi
call fcn.1400ebbc0
lea rdx, [0x1401ae898]
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031a2c
mov rcx, rdi
call fcn.1400ebbc0
movss xmm0, dword [rsi + 0x28]
mov rbx, qword [rdi + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
xorps xmm1, xmm1
mov byte [rbx + 8], reloc.WS2_32.dll_send
cvtss2sd xmm1, xmm0
mov rcx, rdi
movsd qword [rbx], xmm1
add qword [rdi + 0x10], 0x10
call fcn.1400d94e0
lea rdx, [0x1401ae89c]
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031a8d
mov rcx, rdi
call fcn.1400ebbc0
movss xmm0, dword [rsi + 0x2c]
mov rbx, qword [rdi + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
xorps xmm1, xmm1
mov byte [rbx + 8], reloc.WS2_32.dll_send
cvtss2sd xmm1, xmm0
mov rcx, rdi
movsd qword [rbx], xmm1
add qword [rdi + 0x10], 0x10
call fcn.1400d94e0
mov rcx, rdi
call fcn.1400d94e0
lea rdx, str.userid
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov rbx, qword [rsp + 0x30]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031afb
mov rcx, rdi
call fcn.1400ebbc0
mov rcx, qword [rdi + 0x10]
movsxd rax, dword [rsi + 0x20]
mov qword [rcx], rax
mov byte [rcx + 8], 3
mov rcx, rdi
add qword [rdi + 0x10], 0x10
call fcn.1400d94e0
lea rdx, str.country
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031b4e
mov rcx, rdi
call fcn.1400ebbc0
cmp qword [rsi + 0x48], 0x10
lea rdx, [rsi + 0x30]
jb 0x140031b5c
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140031b6a
mov rax, qword [rdi + 0x10]
mov byte [rax + 8], dl
jmp 0x140031b82
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031b9a
mov rcx, rdi
call fcn.1400ebbc0
mov rcx, rdi
call fcn.1400d94e0
lea rdx, str.netid
mov rcx, rdi
call fcn.1400fd8c0
mov rcx, qword [rdi + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rdi + 0x18]
add qword [rdi + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140031bd9
mov rcx, rdi
call fcn.1400ebbc0
mov rcx, qword [rdi + 0x10]
movsxd rax, dword [rsi + 0x24]
mov qword [rcx], rax
mov byte [rcx + 8], 3
mov rcx, rdi
add qword [rdi + 0x10], 0x10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1400d94e0