Function at 0x14000a380
Capabilities:
Connect to http server
Create http request
Query remote server for available data
Read data from internet
Receive data
Reference http user-agent string
Send data
Send http request

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r15d, r8d
mov r14, rdx
mov rdi, rcx
mov rax, qword [0x140051088]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x14000a3f2
cmp dword [rdi + 0x10], 0
je 0x14000a3f2
mov rbx, qword [rax]
add rbx, 8
xor ebp, ebp
lea rsi, str.user
nop word [rax + rax]
mov rdx, qword [rbx - 8]
mov r8d, 4
mov rcx, rsi
call fcn.14002c1b4
test eax, eax
je 0x14000a45c
add ebp, 1
add rbx, 0x10
cmp ebp, dword [rdi + 0x10]
jb 0x14000a3d0
mov ecx, 0x200
mov edx, 1
call fcn.14002c370
test rax, rax
je 0x14000a884
mov rsi, rax
mov dword [rsp + 0x5c], 0x200
lea r8, [rsp + 0x5c]
xor ecx, ecx
mov rdx, rax
call sub.urlmon.dll_ObtainUserAgentString
cmp eax, 0x8007000e
jne 0x14000a491
mov edx, dword [rsp + 0x5c]
mov rcx, rsi
call fcn.14002d290
test rax, rax
je 0x14000a884
mov rsi, rax
lea r8, [rsp + 0x5c]
xor ecx, ecx
mov rdx, rax
call sub.urlmon.dll_ObtainUserAgentString
test eax, eax
jne 0x14000a734
jmp 0x14000a491
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14002d8b0
mov rbp, rax
mov edx, 1
mov rcx, rax
call fcn.14002c370
test rax, rax
je 0x14000a884
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call fcn.140022930
mov dword [rsp + 0x20], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetOpenA]
test rax, rax
je 0x14000a734
mov r13, rax
mov rcx, rsi
call fcn.14002c850
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], 0
mov rcx, r13
mov rdx, r14
mov r8d, r15d
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetConnectA]
test rax, rax
je 0x14000a741
cmp byte [rdi + 0x40], 0
mov edx, 0x80000000
mov ecx, 0x80803000
cmove ecx, edx
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
mov dword [rsp + 0x30], ecx
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x48], rax
mov rcx, rax
xor r9d, r9d
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r12, rax
test rax, rax
je 0x14000a863
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x54], 4
lea r8, [rsp + 0x58]
lea r9, [rsp + 0x54]
mov rcx, r12
mov edx, 0x1f
call qword [sym.imp.WININET.dll_InternetQueryOptionA]
test eax, eax
je 0x14000a863
or byte [rsp + 0x59], 1
lea r8, [rsp + 0x58]
mov rcx, r12
mov edx, 0x1f
mov r9d, 4
call qword [sym.imp.WININET.dll_InternetSetOptionA]
test eax, eax
je 0x14000a863
mov rax, qword [rdi + 8]
movzx ebx, r15w
cmp byte [rdi + 0x40], 0
lea rcx, str.http
lea rbp, str.https
mov r9, rbp
cmove r9, rcx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
lea r8, str._s:___s:_d_s
xor ecx, ecx
xor edx, edx
call fcn.140006640
add eax, 1
movsxd r15, eax
mov edx, 1
mov rcx, r15
call fcn.14002c370
test rax, rax
je 0x14000a863
mov rsi, rax
mov rax, qword [rdi + 8]
cmp byte [rdi + 0x40], 0
lea rcx, str.http
cmove rbp, rcx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
lea r8, str._s:___s:_d_s
mov rcx, rsi
mov rdx, r15
mov r9, rbp
call fcn.140006640
cmp dword [rdi + 0x20], 0
je 0x14000a668
xor ebx, ebx
mov rbp, qword [sym.imp.WININET.dll_InternetSetCookieA]
nop
mov rax, qword [rdi + 0x28]
mov rax, qword [rax + rbx*8]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rcx, rsi
call rbp
test eax, eax
je 0x14000a863
add rbx, 1
mov eax, dword [rdi + 0x20]
cmp rbx, rax
jb 0x14000a640
mov rcx, rsi
call fcn.14002c850
cmp dword [rdi + 0x10], 0
je 0x14000a725
xor r14d, r14d
lea r15, str._s:__s
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + r14*8]
mov r9, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
xor ecx, ecx
xor edx, edx
mov r8, r15
call fcn.140006640
test eax, eax
je 0x14000a863
mov ebx, eax
movsxd rsi, eax
add rsi, 1
mov edx, 1
mov rcx, rsi
call fcn.14002c370
test rax, rax
je 0x14000a863
mov rbp, rax
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + r14*8]
mov r9, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rsi
mov r8, r15
call fcn.140006640
mov rcx, r12
mov rdx, rbp
mov r8d, ebx
mov r9d, 0x40000000
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
test eax, eax
je 0x14000a863
mov rcx, rbp
call fcn.14002c850
add r14, 1
mov eax, dword [rdi + 0x10]
cmp r14, rax
jb 0x14000a684
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x14000a749
mov r9, qword [rdi + 0x38]
jmp 0x14000a74c
mov rcx, rsi
call fcn.14002c850
jmp 0x14000a884
mov rcx, r13
jmp 0x14000a87e
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, r12
xor edx, edx
mov r8d, 0xffffffff
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x14000a863
mov ecx, 1
mov edx, 0x30
call fcn.14002c370
test rax, rax
je 0x14000aabb
mov rdi, rax
mov dword [rsp + 0x5c], 4
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x5c]
mov rcx, r12
mov edx, 0x20000013
mov r8, rax
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x14000aab3
mov dword [rsp + 0x5c], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x5c]
mov rcx, r12
mov edx, 0x16
xor r8d, r8d
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14000aae2
mov ecx, dword [rsp + 0x5c]
mov edx, 1
call fcn.14002c370
test rax, rax
je 0x14000aab3
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x5c]
mov rcx, r12
mov edx, 0x16
mov qword [rsp + 0x40], rax
mov r8, rax
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x14000aaa9
lea rsi, [0x14004a570]
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.14002e608
xor ecx, ecx
mov rdx, rsi
call fcn.14002e608
test rax, rax
je 0x14000a8d5
lea rsi, str.Set_Cookie
lea rbx, [0x14004a570]
jmp 0x14000a8ba
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call rsi
mov rcx, qword [rsp + 0x48]
call rsi
test r12, r12
je 0x14000a884
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor edi, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140021820
mov rax, rdi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add dword [rdi + 4], 1
xor ecx, ecx
mov rdx, rbx
call fcn.14002e608
test rax, rax
je 0x14000a8d5
mov r8d, 0xa
mov rcx, rax
mov rdx, rsi
call fcn.14002d970
test eax, eax
jne 0x14000a8a7
add dword [rdi + 0x10], 1
jmp 0x14000a8ab
mov ebx, dword [rdi + 4]
mov rcx, rbx
shl rcx, 4
mov edx, 1
call fcn.14002c370
mov qword [rdi + 8], rax
test rax, rax
je 0x14000aaa9
mov ecx, dword [rdi + 0x10]
shl rcx, 4
mov edx, 1
call fcn.14002c370
mov qword [rdi + 0x18], rax
test rax, rax
je 0x14000aaa9
test ebx, ebx
je 0x14000aad8
xor esi, esi
mov rbp, qword [rsp + 0x40]
jmp 0x14000a99e
mov rdx, rbp
mov r8, rbx
call fcn.14002da00
mov rcx, r15
call fcn.14002d8b0
lea rcx, [rax + 1]
mov edx, 1
call fcn.14002c370
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx + r14*8]
mov qword [rcx + 8], rax
mov rax, qword [rdi + 8]
mov rax, qword [rax + r14*8]
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x14000aaa9
mov rcx, r15
call fcn.14002d8b0
mov rcx, rbx
mov rdx, r15
mov r8, rax
call fcn.14002da00
mov esi, dword [rsp + 0x50]
add esi, 1
mov ebx, dword [rdi + 4]
mov rcx, rbp
call fcn.14002d8b0
add rbp, rax
add rbp, 2
cmp esi, ebx
jae 0x14000aad8
mov rcx, rbp
mov edx, 0x3a
call fcn.140023170
test rax, rax
je 0x14000a987
mov r15, rax
add r15, 2
mov r8d, 0xa
mov rcx, rbp
lea rdx, str.Set_Cookie
call fcn.14002d970
mov ebx, eax
mov ecx, 1
mov edx, 0x10
call fcn.14002c370
mov dword [rsp + 0x50], esi
mov edx, esi
test ebx, ebx
je 0x14000aa30
mov rcx, qword [rdi + 8]
mov qword [rcx + rdx*8], rax
mov rax, qword [rdi + 8]
mov rsi, qword [rax + rdx*8]
test rsi, rsi
je 0x14000aaa9
mov r14, rdx
mov rbx, r15
sub rbx, rbp
lea rcx, [rbx + 1]
mov edx, 1
call fcn.14002c370
mov qword [rsi], rax
mov rax, qword [rdi + 8]
mov rax, qword [rax + r14*8]
mov rcx, qword [rax]
test rcx, rcx
jne 0x14000a925
jmp 0x14000aaa9
mov rcx, qword [rdi + 0x18]
mov qword [rcx + rdx*8], rax
mov rax, qword [rdi + 0x18]
mov r14, qword [rax + rdx*8]
test r14, r14
je 0x14000aaa9
mov rsi, rdx
mov rbx, r15
sub rbx, rbp
lea rcx, [rbx + 1]
mov edx, 1
call fcn.14002c370
mov qword [r14], rax
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + rsi*8]
mov rcx, qword [rax]
test rcx, rcx
je 0x14000aaa9
mov rdx, rbp
mov r8, rbx
call fcn.14002da00
mov rcx, r15
call fcn.14002d8b0
lea rcx, [rax + 1]
mov edx, 1
call fcn.14002c370
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + rsi*8]
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + rsi*8]
jmp 0x14000a95a
mov rcx, qword [rsp + 0x40]
call fcn.14002c850
mov rcx, rdi
call fcn.14000ac30
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call rsi
mov rcx, qword [rsp + 0x48]
call rsi
mov rcx, r12
call rsi
jmp 0x14000a884
mov rcx, qword [rsp + 0x40]
call fcn.14002c850
mov qword [rdi + 0x28], 0
mov dword [rsp + 0x5c], 0
lea rdx, [rsp + 0x5c]
mov rcx, r12
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x14000abfe
mov ebp, dword [rsp + 0x5c]
test ebp, ebp
je 0x14000abfe
lea rbx, [rsp + 0x58]
mov r14, qword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, ebp
mov edx, 1
call fcn.14002c370
test rax, rax
je 0x14000aab3
mov rsi, rax
mov dword [rsp + 0x58], 0
mov rcx, r12
mov rdx, rax
mov r8d, ebp
mov r9, rbx
call r14
test eax, eax
je 0x14000abfe
mov ebp, dword [rsp + 0x58]
test ebp, ebp
je 0x14000abfe
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x14000ab96
mov rax, qword [rdi + 0x28]
lea rdx, [rax + rbp]
add rdx, 1
call fcn.14002d290
mov qword [rdi + 0x20], rax
test rax, rax
je 0x14000ac1b
mov ebp, dword [rsp + 0x58]
jmp 0x14000abac
lea ecx, [rbp + 1]
mov edx, 1
call fcn.14002c370
mov qword [rdi + 0x20], rax
test rax, rax
je 0x14000ac1b
mov r15, qword [rdi + 0x28]
add rax, r15
mov ebp, ebp
mov rcx, rax
mov rdx, rsi
mov r8, rbp
call fcn.140022930
add r15, rbp
mov qword [rdi + 0x28], r15
mov rcx, rsi
call fcn.14002c850
mov dword [rsp + 0x5c], 0
mov rcx, r12
lea rdx, [rsp + 0x5c]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x14000abfe
mov ebp, dword [rsp + 0x5c]
test ebp, ebp
jne 0x14000ab26
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call rsi
mov rcx, qword [rsp + 0x48]
call rsi
mov rcx, r12
call rsi
jmp 0x14000a886
mov rcx, rsi
jmp 0x14000aaae