Function at 0x14001ec40
Capabilities:
Check http status code
Create http request
Create thread
Read data from internet
Receive data

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80e0]
mov eax, 0x81e0
call fcn.1400296b0
sub rsp, rax
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x8230], rbx
mov rax, qword [0x140053100]
xor rax, rsp
mov qword [rbp + 0x80d0], rax
movzx r12d, r8b
mov byte [rsp + 0x30], r8b
mov r15, rdx
mov qword [rsp + 0x58], rdx
mov rsi, rcx
xor r14d, r14d
mov ebx, r14d
mov qword [rsp + 0x48], rbx
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
or r13, 0xffffffffffffffff
test rsi, rsi
je 0x14001ed01
test rsi, 0xffffffffffff0000
jne 0x14001ecee
movzx edi, si
mov ecx, edi
call fcn.140003200
test rax, rax
je 0x14001ed15
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000a630
jmp 0x14001ed15
xor eax, eax
mov rcx, r13
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x14001ed04
mov ecx, r14d
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.14000a480
nop
mov rdi, qword [rsp + 0x50]
cmp dword [rdi - 0x10], 0
jl 0x14001edea
lea rdx, str.file:__
mov rcx, rdi
call fcn.1400267a8
test rax, rax
je 0x14001edea
sub rax, rdi
sar rax, 1
test eax, eax
jne 0x14001edea
lea r8d, [rax + 7]
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x50]
call fcn.14000ece0
nop
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000aac0
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14001ed91
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x58]
call fcn.14001ea20
mov rcx, qword [rax]
test rcx, rcx
je 0x14001edb0
mov qword [rsp + 0x48], rcx
mov qword [rax], r14
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001edc0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14001ede0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x48]
jmp 0x14001f065
mov ecx, 0x1058
call fcn.140026be8
mov r12, rax
test rax, rax
je 0x14001f05f
mov word [rax], r14w
mov qword [rax + 0x1048], r14
mov qword [rax + 0x1050], r14
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
lea rcx, [0x140044804]
call qword [sym.imp.WININET.dll_InternetOpenW]
mov qword [r12 + 0x1048], rax
test rax, rax
je 0x14001f057
mov dword [rsp + 0x60], r14d
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9, r12
lea r8, [0x14001ebf0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
mov edx, 0x4e20
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rdi
cmp eax, 0x102
jne 0x14001ee9c
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x14001f049
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [r12 + 0x1050]
test rcx, rcx
je 0x14001f049
mov dword [rsp + 0x64], 0x104
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x64]
lea r8, [rbp - 0x40]
mov edx, 0x13
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x14001f03b
lea rcx, [rbp - 0x40]
call fcn.140027e74
cmp eax, 0xc8
jne 0x14001f03b
mov dword [rsp + 0x34], r14d
lea r9, [rsp + 0x34]
mov r8d, 0x8000
lea rdx, [rbp + 0xd0]
mov rcx, qword [r12 + 0x1050]
call qword [sym.imp.WININET.dll_InternetReadFile]
mov esi, eax
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x40], ecx
test ecx, ecx
je 0x14001f03b
test eax, eax
je 0x14001f03b
inc ecx
mov edi, ecx
call fcn.140026094
test rax, rax
je 0x14001f03b
mov r8d, edi
xor edx, edx
mov r15, rax
mov rcx, rax
call fcn.140029480
mov r13d, dword [rsp + 0x40]
mov r8d, r13d
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140027b40
test esi, esi
je 0x14001efc8
lea r9, [rsp + 0x34]
mov r8d, 0x8000
lea rdx, [rbp + 0xd0]
mov rcx, qword [r12 + 0x1050]
call qword [sym.imp.WININET.dll_InternetReadFile]
mov esi, eax
mov r14d, dword [rsp + 0x34]
test r14d, r14d
je 0x14001efc8
test eax, eax
je 0x14001ef68
lea edi, [r14 + r13]
lea edx, [rdi + 1]
mov rcx, r15
call fcn.1400278b8
mov r15, rax
mov r8d, r14d
mov ecx, r13d
add rcx, rax
lea rdx, [rbp + 0xd0]
call fcn.140027b40
mov r13d, edi
jmp 0x14001ef68
mov qword [rsp + 0x38], r15
inc r13d
mov edx, r13d
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
mov r8d, r13d
mov rdx, r15
mov rcx, rax
call fcn.140027b40
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14001eb10
mov rcx, qword [rax]
test rcx, rcx
mov r13, 0xffffffffffffffff
mov r15, qword [rsp + 0x58]
je 0x14001f01f
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor r14d, r14d
mov qword [rax], r14
jmp 0x14001f022
xor r14d, r14d
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14001f031
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140026010
mov rcx, qword [r12 + 0x1050]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [r12 + 0x1048]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r12
call fcn.140025a84
movzx r12d, byte [rsp + 0x30]
mov rsi, r14
test rbx, rbx
je 0x14001f1df
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [0x140040520]
mov rsi, qword [rbp - 0x60]
test rsi, rsi
jle 0x14001f1df
test r12b, r12b
je 0x14001f0b9
mov qword [rbp - 0x68], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rdx, r15
lea rcx, [rbp - 0x68]
call fcn.14001f240
test al, al
jne 0x14001f1df
mov rsi, r14
jmp 0x14001f1df
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
test r15, r15
je 0x14001f116
test r15, 0xffffffffffff0000
jne 0x14001f103
movzx edi, r15w
mov ecx, edi
call fcn.140003200
test rax, rax
je 0x14001f12a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14000a630
jmp 0x14001f12a
xor eax, eax
mov rcx, r13
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x14001f119
mov ecx, r14d
mov r8d, ecx
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.14000a480
nop
mov qword [rsp + 0x40], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rdx, [rsp + 0x40]
mov qword [rbp - 0x48], rdx
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x70]
call fcn.14001ea90
nop
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14001f1ab
lea rdx, [rbp - 0x70]
mov rcx, qword [rsp + 0x40]
call qword [0x140040520]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x50]
mov r8, qword [rbp - 0x70]
mov rdx, rdi
call qword [rax + 0x38]
mov rsi, qword [rsp + 0x78]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14001f1be
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14001f1be
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14001f1bb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rsi, r14
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14001f1df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x14001f200
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14001f210
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rax, rsi
mov rcx, qword [rbp + 0x80d0]
xor rcx, rsp
call fcn.140025aa0
mov rbx, qword [rsp + 0x8230]
add rsp, 0x81e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret