Function at 0x14001fc40
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.14002a6b0
sub rsp, rax
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x8230], rbx
mov rax, qword [0x140054100]
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 0x14001fd01
test rsi, 0xffffffffffff0000
jne 0x14001fcee
movzx edi, si
mov ecx, edi
call fcn.140004200
test rax, rax
je 0x14001fd15
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000b630
jmp 0x14001fd15
xor eax, eax
mov rcx, r13
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x14001fd04
mov ecx, r14d
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.14000b480
nop
mov rdi, qword [rsp + 0x50]
cmp dword [rdi - 0x10], 0
jl 0x14001fdea
lea rdx, str.file:__
mov rcx, rdi
call fcn.1400277a8
test rax, rax
je 0x14001fdea
sub rax, rdi
sar rax, 1
test eax, eax
jne 0x14001fdea
lea r8d, [rax + 7]
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x50]
call fcn.14000fce0
nop
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000bac0
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 0x14001fd91
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x58]
call fcn.14001fa20
mov rcx, qword [rax]
test rcx, rcx
je 0x14001fdb0
mov qword [rsp + 0x48], rcx
mov qword [rax], r14
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001fdc0
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 0x14001fde0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x48]
jmp 0x140020065
mov ecx, 0x1058
call fcn.140027be8
mov r12, rax
test rax, rax
je 0x14002005f
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, [0x140045804]
call qword [sym.imp.WININET.dll_InternetOpenW]
mov qword [r12 + 0x1048], rax
test rax, rax
je 0x140020057
mov dword [rsp + 0x60], r14d
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9, r12
lea r8, [0x14001fbf0]
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 0x14001fe9c
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x140020049
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [r12 + 0x1050]
test rcx, rcx
je 0x140020049
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 0x14002003b
lea rcx, [rbp - 0x40]
call fcn.140028e74
cmp eax, 0xc8
jne 0x14002003b
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 0x14002003b
test eax, eax
je 0x14002003b
inc ecx
mov edi, ecx
call fcn.140027094
test rax, rax
je 0x14002003b
mov r8d, edi
xor edx, edx
mov r15, rax
mov rcx, rax
call fcn.14002a480
mov r13d, dword [rsp + 0x40]
mov r8d, r13d
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140028b40
test esi, esi
je 0x14001ffc8
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 0x14001ffc8
test eax, eax
je 0x14001ff68
lea edi, [r14 + r13]
lea edx, [rdi + 1]
mov rcx, r15
call fcn.1400288b8
mov r15, rax
mov r8d, r14d
mov ecx, r13d
add rcx, rax
lea rdx, [rbp + 0xd0]
call fcn.140028b40
mov r13d, edi
jmp 0x14001ff68
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.140028b40
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14001fb10
mov rcx, qword [rax]
test rcx, rcx
mov r13, 0xffffffffffffffff
mov r15, qword [rsp + 0x58]
je 0x14002001f
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor r14d, r14d
mov qword [rax], r14
jmp 0x140020022
xor r14d, r14d
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140020031
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140027010
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.140026a84
movzx r12d, byte [rsp + 0x30]
mov rsi, r14
test rbx, rbx
je 0x1400201df
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [0x140041520]
mov rsi, qword [rbp - 0x60]
test rsi, rsi
jle 0x1400201df
test r12b, r12b
je 0x1400200b9
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.140020240
test al, al
jne 0x1400201df
mov rsi, r14
jmp 0x1400201df
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 0x140020116
test r15, 0xffffffffffff0000
jne 0x140020103
movzx edi, r15w
mov ecx, edi
call fcn.140004200
test rax, rax
je 0x14002012a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14000b630
jmp 0x14002012a
xor eax, eax
mov rcx, r13
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140020119
mov ecx, r14d
mov r8d, ecx
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.14000b480
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.14001fa90
nop
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x1400201ab
lea rdx, [rbp - 0x70]
mov rcx, qword [rsp + 0x40]
call qword [0x140041520]
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 0x1400201be
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1400201be
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400201bb
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 0x1400201df
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 0x140020200
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140020210
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rax, rsi
mov rcx, qword [rbp + 0x80d0]
xor rcx, rsp
call fcn.140026aa0
mov rbx, qword [rsp + 0x8230]
add rsp, 0x81e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret