Function at 0x1800441e0
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10a0]
mov eax, 0x11a0
call fcn.1800be800
sub rsp, rax
movaps xmmword [rsp + 0x1190], xmm6
mov rdi, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea edx, [r12 + 1]
lea rcx, [0x18015d1a4]
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r13, rax
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1800442aa
mov dword [r14], r12d
lea rcx, [r14 + 8]
call fcn.18004bd50
mov qword [r14 + 0x20], r12
mov qword [r14 + 0x28], r12
mov qword [r14 + 0x30], r12
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800442a1
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x18004429c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180044a41
mov rcx, r8
call fcn.1800bdc0c
mov qword [rdi + 0x10], r12
jmp 0x180044a0a
lea rbx, [rsi + 0x70]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1800442bb
mov rdx, qword [rbx]
mov r8d, 0x1bb
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], 3
lea r9, [0x180121d70]
mov qword [rsp + 0x20], r9
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetConnectA]
mov r12, rax
mov qword [rbp - 0x68], rax
cmp qword [rbx + 0x18], 0x10
jb 0x1800442f9
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.WININET.dll_DeleteUrlCacheEntryA]
test r12, r12
jne 0x18004436d
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor ebx, ebx
mov dword [r14], ebx
lea rcx, [r14 + 8]
call fcn.18004bd50
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x28], rbx
mov qword [r14 + 0x20], rbx
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180044364
inc rdx
cmp rdx, 0x1000
mov rcx, qword [rdi]
jb 0x18004435f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180044a41
mov rcx, r8
call fcn.1800bdc0c
mov qword [rdi + 0x10], rbx
jmp 0x180044a0a
lea r8, [rsi + 0xb0]
cmp qword [r8 + 0x18], 0x10
jb 0x18004437e
mov r8, qword [r8]
cmp qword [r15 + 0x18], 0x10
jb 0x180044388
mov r15, qword [r15]
xor ebx, ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 0x84880100
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov r12, rax
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x1800443d5
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x180044312
mov r15d, ebx
mov r13, qword [rbp + 0x1100]
nop
mov rbx, qword [r13 + 8]
sub rbx, qword [r13]
mov rcx, r13
call fcn.18004baf0
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1800443fd
mov rdx, qword [rdi]
mov dword [rsp + 0x20], ebx
mov r9, rax
mov r8d, 0xffffffff
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x180044447
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
mov qword [rsp + 0x20], 0
mov r9d, 7
mov r8d, 0x2f0c
mov rdx, r12
call qword [sym.imp.WININET.dll_InternetErrorDlg]
inc r15d
cmp r15d, 5
jle 0x1800443e0
xor r15d, r15d
mov dword [rsp + 0x60], r15d
mov dword [rbp - 0x70], 4
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x70]
lea r8, [rsp + 0x60]
mov edx, 0x20000013
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
mov eax, dword [rsp + 0x60]
mov dword [rsi + 0x10], eax
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x50]
xor r8d, r8d
lea edx, [r15 + 0x16]
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1800448c5
mov ebx, dword [rsp + 0x50]
add ebx, 0x64
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov r13d, r15d
mov qword [rbp - 0x50], r15
je 0x1800444e8
mov edx, ebx
lea rcx, [rbp - 0x60]
call fcn.18000a530
mov r8d, ebx
xor edx, edx
mov r12, qword [rbp - 0x60]
mov rcx, r12
call fcn.1800c0800
add rbx, r12
mov qword [rbp - 0x58], rbx
mov r13, qword [rbp - 0x50]
jmp 0x1800444f0
mov rbx, qword [rbp - 0x58]
mov r12, qword [rbp - 0x60]
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x50]
mov r8, r12
mov edx, socket
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x180044887
mov r8, rbx
mov rdx, r12
lea rcx, [rbp + 8]
call fcn.180008740
nop
lea rax, [rbp - 0x38]
mov qword [rsp + 0x68], rax
movsd xmm0, qword [str.rZR]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18015df20]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18015df22]
mov byte [rsp + 0x40], 0x46
xor byte [rsp + 0x41], 0x35
xor byte [rsp + 0x42], 0x36
xor byte [rsp + 0x43], 0x37
xor byte [rsp + 0x44], 0x38
xor byte [rsp + 0x45], 0x39
xor byte [rsp + 0x46], 0x3a
xor byte [rsp + 0x47], 0x3b
xor cl, 0x3c
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3d
xor al, 0x3e
mov byte [rsp + 0x4a], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
lea rax, [rsp + 0x40]
mov r15, 0xffffffffffffffff
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800445b0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x38]
call fcn.180008fc0
nop
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x48]
call fcn.1800079d0
nop
lea r9, [rbp - 0x38]
mov r8, rax
lea rdx, [rsp + 0x70]
call fcn.180044a90
nop
cmp qword [rbp - 0x80], 0
je 0x180044646
call fcn.1800c970c
mov qword [rsp + 0x68], rax
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rbx, qword [rsp + 0x70]
mov dword [rax], 0
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1800c92a0
cmp rbx, qword [rsp + 0x40]
je 0x180044a47
mov rcx, qword [rsp + 0x68]
cmp dword [rcx], 0x22
je 0x180044a54
mov dword [rsi], eax
add eax, 0x3e8
mov dword [rsi + 8], eax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x68], rax
movsd xmm0, qword [str.pTBV]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18015d398]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18015d39a]
mov byte [rsp + 0x40], 0x44
xor byte [rsp + 0x41], 0x35
xor byte [rsp + 0x42], 0x36
xor byte [rsp + 0x43], 0x37
xor byte [rsp + 0x44], 0x38
xor byte [rsp + 0x45], 0x39
xor byte [rsp + 0x46], 0x3a
xor byte [rsp + 0x47], 0x3b
xor cl, 0x3c
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3d
xor al, 0x3e
mov byte [rsp + 0x4a], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xor eax, eax
mov qword [rbp - 8], rax
mov qword [rbp], rax
lea rax, [rsp + 0x40]
inc r15
cmp byte [rax + r15], 0
jne 0x1800446c0
mov r8, r15
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x18]
call fcn.180008fc0
nop
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x68]
call fcn.1800079d0
nop
lea r9, [rbp - 0x18]
mov r8, rax
lea rdx, [rbp + 0x28]
call fcn.180044a90
mov rbx, rax
lea rax, [rsp + 0x70]
cmp rax, rbx
je 0x180044773
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x180044743
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004473e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180044a61
call fcn.1800bdc0c
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], send
mov byte [rsp + 0x70], al
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], send
mov byte [rbx], al
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1800447ae
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800447a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180044a61
call fcn.1800bdc0c
cmp qword [rbp - 0x80], 0
je 0x1800447fb
call fcn.1800c970c
mov r15, rax
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rbx, qword [rsp + 0x70]
mov dword [rax], 0
mov r8d, 0xa
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1800c92a0
cmp rbx, qword [rsp + 0x68]
je 0x180044a67
cmp dword [r15], 0x22
je 0x180044a74
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x180044837
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180044832
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180044a81
call fcn.1800bdc0c
xor r15d, r15d
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], send
mov byte [rsp + 0x70], r15b
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x180044887
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180044881
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180044a87
call fcn.1800bdc0c
nop
test r12, r12
je 0x1800448c0
sub r13, r12
mov rax, r12
cmp r13, 0x1000
jb 0x1800448b5
add r13, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180044a3b
mov rdx, r13
mov rcx, r12
call fcn.1800bdc0c
mov r12, qword [rsp + 0x58]
lea rdx, [fcn.180003170]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x90]
call fcn.1800c0800
lea r9, [rsp + 0x58]
mov r8d, 0x1000
lea rdx, [rbp + 0x90]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x180044991
movss xmm6, dword [0x180160020]
test eax, eax
je 0x180044991
mov eax, dword [rsi + 8]
test eax, eax
je 0x180044943
add dword [rsi + 0x48], edx
movd xmm1, dword [rsi + 0x48]
cvtdq2ps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm1, xmm0
mulss xmm1, xmm6
movss dword [rsi + 4], xmm1
lea rcx, [rsi + 0x30]
mov r9d, edx
mov rdx, qword [rsi + 0x38]
lea r8, [rbp + 0x90]
call fcn.18001c130
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x90]
call fcn.1800c0800
lea r9, [rsp + 0x58]
mov r8d, 0x1000
lea rdx, [rbp + 0x90]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x180044918
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [rsi + 0x10]
mov dword [r14], eax
lea rcx, [r14 + 8]
lea rdx, [rsi + 0x18]
call fcn.18004bc80
nop
lea rcx, [r14 + 0x20]
lea rdx, [rsi + 0x30]
call fcn.180007240
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180044a06
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180044a01
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180044a41
mov rcx, r8
call fcn.1800bdc0c
mov qword [rdi + 0x10], r15
mov byte [rdi], 0
mov rax, r14
mov qword [rdi + 0x18], send
mov rbx, qword [rsp + 0x11e0]
movaps xmm6, xmmword [rsp + 0x1190]
add rsp, 0x11a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800c9ad0
nop
call fcn.1800c9ad0
nop
lea rcx, str.invalid_stoul_argument
call fcn.1800bbc10
int3
lea rcx, str.stoul_argument_out_of_range
call fcn.1800bbc58
int3
call fcn.1800c9ad0
int3
lea rcx, str.invalid_stoul_argument
call fcn.1800bbc10
int3
lea rcx, str.stoul_argument_out_of_range
call fcn.1800bbc58
nop
call fcn.1800c9ad0
nop
call fcn.1800c9ad0
int3