Function at 0x18016ab10
Capabilities:
Check http status code
Create http request
Read data from internet
Receive data
Reference http user-agent string

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x830]
sub rsp, 0x930
mov rax, qword [0x180717100]
xor rax, rsp
mov qword [rbp + 0x820], rax
mov r14, rcx
mov qword [rbp - 0x80], rcx
xor r13d, r13d
mov rsi, qword [0x180721ad0]
mov rbx, qword [rsi + 8]
mov rdi, rsi
cmp byte [rbx + 0x19], r13b
jne 0x18016ab92
nop word [rax + rax]
lea rcx, [rbx + 0x20]
mov rdx, r14
call fcn.18004c790
test al, al
jns 0x18016ab86
mov rbx, qword [rbx + 0x10]
jmp 0x18016ab8c
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x18016ab70
cmp byte [rdi + 0x19], 0
jne 0x18016aba8
lea rdx, [rdi + 0x20]
mov rcx, r14
call fcn.18004c790
test al, al
jns 0x18016abab
mov rdi, rsi
cmp rdi, rsi
je 0x18016abc9
mov rdx, r14
call fcn.18016cdf0
mov ebx, dword [rax]
mov rcx, r14
call fcn.18003cb40
mov eax, ebx
jmp 0x18016b2be
mov rcx, qword [r14 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 0x30
jb 0x18016b306
mov rax, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x18016abf1
mov rax, qword [r14]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x30
lea r9, str.https:__peoplehub_public.xboxlive.com_people_gt_
lea rcx, [rbp - 0x18]
call fcn.18003ca10
nop
mov r8d, 1
lea rdx, [0x18030e258]
lea rcx, [rbp - 0x18]
call fcn.18004cc50
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x18016ac93
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016ac8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b30c
call fcn.18027f3e4
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.Mozilla_5.0
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov rdi, r13
mov qword [rbp - 0x48], r13
mov r15d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x40], r15
mov byte [rbp - 0x58], dil
test rax, rax
je 0x18016b261
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], r15
cmova rdx, qword [rbp - 0x78]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x84800200
mov r9d, 0xffffffff
lea r8, str.x_xbl_contract_version:_3_r_nAccept_Language:_en_US_en_q0.5_r_n
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov r12, rax
test rax, rax
je 0x18016b258
mov r9d, 0xa0000000
mov r8d, 0xffffffff
lea rdx, str.x_xbl_contract_version:_3_r_nAccept_Language:_en_US_en_q0.5_r_n
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov rcx, r12
test eax, eax
je 0x18016b252
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x4c], 4
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0x40]
mov edx, 0x20000013
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
mov ebx, dword [rsp + 0x40]
cmp ebx, 0xc8
jne 0x18016b21a
movzx ebx, byte [rsp + 0x44]
nop word [rax + rax]
lea r9, [rsp + 0x48]
mov r8d, 0x7d0
lea rdx, [rbp + 0x50]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
mov esi, dword [rsp + 0x48]
mov rax, r15
sub rax, rdi
cmp rsi, rax
ja 0x18016add4
lea rax, [rdi + rsi]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x58]
cmp r15, 0xf
cmova rax, qword [rbp - 0x58]
add rdi, rax
mov r8d, esi
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1802bfb00
mov byte [rdi + rsi], 0
jmp 0x18016aded
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x50]
movzx r8d, bl
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.18004cac0
mov r15, qword [rbp - 0x40]
cmp dword [rsp + 0x48], 0
jbe 0x18016adfe
mov rdi, qword [rbp - 0x48]
jmp 0x18016ad80
lea rbx, [rbp - 0x58]
mov rdi, qword [rbp - 0x58]
cmp r15, 0xf
cmova rbx, rdi
mov r13, qword [rbp - 0x48]
cmp r13, 8
jb 0x18016ae6f
lea rsi, [rbx + r13]
lea r8, [rsi - 7]
sub r8, rbx
mov edx, 0x68
mov rcx, rbx
call fcn.1802c0620
test rax, rax
je 0x18016ae6f
movabs rcx, 0x2f2f3a7370747468
nop
cmp qword [rax], rcx
je 0x18016aef8
inc rax
lea r8, [rsi - 7]
sub r8, rax
mov edx, 0x68
mov rcx, rax
call fcn.1802c0620
test rax, rax
movabs rcx, 0x2f2f3a7370747468
jne 0x18016ae40
mov rdx, r14
call fcn.18016cdf0
mov dword [rax], 0
cmp r15, 0xf
jbe 0x18016aeb5
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18016aeac
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b312
mov rcx, rdi
call fcn.18027f3e4
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x18016b2a3
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b2f4
jmp 0x18016b29e
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x18016ae6f
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x40]
lea rcx, [rbp + 0x28]
call fcn.180142b30
mov qword [rsp + 0x50], rax
movabs r8, 0x7fffffffffffffff
mov rcx, r8
sub rcx, r13
cmp rcx, 5
jb 0x18016b318
lea rdx, [rbp - 0x58]
cmp r15, 0xf
cmova rdx, rdi
mov qword [rsp + 0x58], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
lea rax, [r13 + 5]
mov ebx, reloc.WS2_32.dll_ntohs
lea rsi, [rbp - 0x38]
cmp rax, rbx
jbe 0x18016aff3
mov rbx, rax
or rbx, 0xf
cmp rbx, r8
jbe 0x18016afad
mov rbx, r8
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.18027f030
test rax, rax
je 0x18016b324
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x18016afe6
mov ecx, reloc.WS2_32.dll_shutdown
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x18016afc6
xor esi, esi
jmp 0x18016afef
cmp rcx, 0x1000
jb 0x18016afde
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18016b2fa
jmp 0x18016af8e
call fcn.18027f030
mov rsi, rax
mov rdx, qword [rsp + 0x58]
lea rax, [r13 + 5]
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rbx
mov ecx, dword [str.Rtn:]
mov dword [rsi], ecx
movzx ecx, byte [0x1803227a4]
mov byte [rsi + 4], cl
lea rcx, [rsi + 5]
mov r8, r13
call fcn.1802bfb00
mov byte [rsi + r13 + 5], 0
mov r8d, 9
lea rdx, str._Status:
lea rcx, [rbp - 0x38]
call fcn.18004cc50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov r9, qword [rsp + 0x50]
lea r8, [rbp + 8]
lea rbx, [rsp + 0x60]
mov rcx, rbx
call fcn.180058360
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], 8
mov qword [rbp], reloc.WS2_32.dll_ntohs
movabs rax, 0x74656e7265746e49
mov qword [rbp - 0x18], rax
mov byte [rbp - 0x10], 0
lea rcx, [rbp - 0x18]
call fcn.18003cb40
mov rcx, rbx
call fcn.18003cb40
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x18016b0e5
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b0df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b31e
call fcn.18027f3e4
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x18016b120
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b11b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b324
call fcn.18027f3e4
movdqa xmm0, xmmword [0x180339840]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x18016b16c
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b167
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b32a
call fcn.18027f3e4
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov ebx, dword [rsp + 0x40]
mov rdx, r14
call fcn.18016cdf0
mov dword [rax], ebx
mov ebx, dword [rsp + 0x40]
cmp r15, 0xf
jbe 0x18016b1bf
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18016b1b6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b312
mov rcx, rdi
call fcn.18027f3e4
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x18016b1fa
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b1f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b2f4
call fcn.18027f3e4
movdqa xmm0, xmmword [0x180339840]
movdqu xmmword [rbp - 0x68], xmm0
mov byte [rbp - 0x78], 0
mov rcx, r14
call fcn.18003cb40
mov eax, ebx
jmp 0x18016b2be
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x18016b1fa
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b1f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b300
jmp 0x18016b1f5
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rdx, r14
call fcn.18016cdf0
mov dword [rax], r13d
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x18016b2a3
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016b29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016b2ee
call fcn.18027f3e4
movdqa xmm0, xmmword [0x180339840]
mov byte [rbp - 0x78], 0
movdqu xmmword [rbp - 0x68], xmm0
mov rcx, r14
call fcn.18003cb40
xor eax, eax
mov rcx, qword [rbp + 0x820]
xor rcx, rsp
call fcn.18027f010
lea r11, [rsp + 0x930]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18028d834
nop
call fcn.18028d834
nop
call fcn.18003c8b0
nop
call fcn.18028d834
int3
call fcn.18003c950
nop
call fcn.18028d834
int3
call fcn.18028d834
nop
call fcn.18003c950
nop
call fcn.18028d834
nop
call fcn.18028d834
nop
call fcn.18028d834
int3