Function at 0x140005540
Capabilities:
Create http request
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0xfc0]
mov eax, 0x10c0
call fcn.14002c070
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x10f0], rbx
mov qword [rsp + 0x10f8], rsi
movaps xmmword [rsp + 0x10b0], xmm6
movaps xmmword [rsp + 0x10a0], xmm7
mov rax, qword [0x1400760a0]
xor rax, rsp
mov qword [rbp + 0xf90], rax
mov rsi, rdx
mov rbx, rcx
xor r14d, r14d
mov dword [rsp + 0x50], r14d
movdqa xmm0, xmmword [0x140069c00]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], r14b
test r8b, r8b
je 0x14000569e
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], r14b
mov dword [rsp + 0x50], 1
mov rdx, qword [rcx + 0x10]
add rdx, 0x1f
cmp rdx, 0x10
jb 0x1400055ed
lea rcx, [rsp + 0x30]
call fcn.140012ac0
mov qword [rsp + 0x40], r14
mov r8d, 0x1f
lea rdx, str.https:__drive.google.com_uc_id
lea rcx, [rsp + 0x30]
call fcn.140010130
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140005612
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140010130
mov r8d, 0x10
lea rdx, str.exportdownload
lea rcx, [rsp + 0x30]
call fcn.140010130
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x70]
call fcn.14000d880
movups xmmword [rsp + 0x70], xmm6
movups xmmword [rbp - 0x80], xmm7
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400056c3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005697
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aac
call fcn.14002b234
jmp 0x1400056c3
lea rax, [rsp + 0x70]
cmp rax, rbx
je 0x1400056c3
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1400056b6
mov rbx, qword [rcx]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000ffd0
lea r8, [rsp + 0x70]
lea rdx, str.URL:
lea rcx, [rsp + 0x30]
call fcn.140011d10
mov rbx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 0x10
jb 0x140005716
mov rcx, qword [rax]
inc rdx
cmp rdx, 0x1000
jb 0x140005711
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005ab8
mov rcx, r8
call fcn.14002b234
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov r8, rsi
lea rdx, str.DST:
lea rcx, [rsp + 0x30]
call fcn.140011d10
mov rbx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 0x10
jb 0x140005776
mov rcx, qword [rax]
inc rdx
cmp rdx, 0x1000
jb 0x140005771
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005abe
mov rcx, r8
call fcn.14002b234
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
lea rcx, str.FileDownloader
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rdi, rax
test rax, rax
jne 0x140005816
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], al
lea r8d, [rax + 0x14]
lea rdx, str.InternetOpen_failed.
lea rcx, [rsp + 0x30]
call fcn.14000ffd0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140005a38
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000580c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005ab2
call fcn.14002b234
jmp 0x140005a38
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rdx, qword [rsp + 0x70]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbx, rax
test rax, rax
jne 0x1400058b7
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], al
lea r8d, [rax + 0x17]
lea rdx, str.InternetOpenUrl_failed.
lea rcx, [rsp + 0x30]
call fcn.14000ffd0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140005a2f
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005ac4
call fcn.14002b234
jmp 0x140005a2f
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1400058c4
mov rdx, qword [rsi]
lea r8, [0x140066460]
lea rcx, [rsp + 0x60]
call fcn.140031cf4
test eax, eax
jne 0x1400059bf
cmp qword [rsp + 0x60], 0
je 0x1400059bf
lea r9, [rsp + 0x68]
mov r8d, 0x1000
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x14000593f
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x14000593f
mov r8d, eax
mov r9, qword [rsp + 0x60]
mov edx, 1
lea rcx, [rbp - 0x70]
call fcn.140031a80
lea r9, [rsp + 0x68]
mov r8d, 0x1000
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140005905
mov rcx, qword [rsp + 0x60]
call fcn.14002fd74
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r8, rsi
lea rdx, str.File_downloaded_successfully_and_saved_as
lea rcx, [rsp + 0x30]
call fcn.140011d10
mov rbx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 0x10
jb 0x1400059ac
mov rcx, qword [rax]
inc rdx
cmp rdx, 0x1000
jb 0x1400059a7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005aca
mov rcx, r8
call fcn.14002b234
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov bl, 1
jmp 0x140005a3a
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov r8d, 0x20
lea rdx, str.Failed_to_open_file_for_writing.
lea rcx, [rsp + 0x30]
call fcn.14000ffd0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140005a26
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005a21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005ad0
call fcn.14002b234
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor bl, bl
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140005a72
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005a6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aa6
call fcn.14002b234
movzx eax, bl
mov rcx, qword [rbp + 0xf90]
xor rcx, rsp
call fcn.14002b210
lea r11, [rsp + 0x10c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.1400328c4
nop
call fcn.1400328c4
nop
call fcn.1400328c4
int3
call fcn.1400328c4
int3
call fcn.1400328c4
int3
call fcn.1400328c4
int3
call fcn.1400328c4
int3
call fcn.1400328c4
int3