Function at 0x140001000
Capabilities:
Download and write a file
Receive and write data from server to client
Receive data
Receive data on socket
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x2098
call fcn.1400283a0
sub rsp, rax
movaps xmmword [rsp + 0x2080], xmm6
mov rsi, r8
mov rbp, rdx
mov qword [rsp + 0x38], rcx
xor eax, eax
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x80]
mov rax, qword [sym.imp.WS2_32.dll_recv]
xorps xmm6, xmm6
lea r15, case.0x1400159e4.165
lea r12, [rsp + 0x60]
mov r14, qword [sym.imp.KERNEL32.dll_WriteFileEx]
lea rbx, [0x140030da4]
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
mov qword [rsp + 0x40], rbp
mov rcx, rbp
mov r8d, 0x2000
xor r9d, r9d
call rax
cmp eax, 0xffffffff
je 0x140001209
movsxd r13, eax
cmp r13, 0x2001
jae 0x140001246
test r13, r13
je 0x140001216
add qword [rsp + 0x48], r13
lea rbp, [rsp + 0x80]
mov eax, 0xffffffff
cmp r13, rax
mov r8d, 0xffffffff
cmovb r8, r13
mov dword [rsp + 0x2c], 0
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x2c]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov rdx, rbp
mov r9, r12
call r14
test eax, eax
je 0x140001130
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rsp + 0x2c], 0
je case.default.0x140001158
movsxd rax, dword [rsp + 0x30]
test rax, rax
je 0x140001182
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], 1
mov ecx, eax
and ecx, 3
movsxd rcx, dword [rbx + rcx*4]
add rcx, rbx
jmp rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], 1
mov ecx, eax
and ecx, 3
movsxd rcx, dword [rbx + rcx*4]
add rcx, rbx
jmp rcx
cmp byte [rax + 0x10], 0x23
je 0x140001176
jmp case.0x140001158.2
cmp byte [rax + 0xf], 0x23
je 0x140001176
jmp case.0x140001158.2
mov rcx, rax
shr rcx, 0x20
cmp ecx, 0x23
jne case.0x140001158.2
lea rcx, [rsp + 0x58]
call fcn.140001664
jmp 0x14000119d
mov ecx, dword [rsp + 0x34]
test rcx, rcx
je 0x1400011bf
mov rax, r13
sub rax, rcx
jb 0x140001237
add rbp, rcx
mov r13, rax
test r13, r13
jne 0x1400010a8
mov rbp, qword [rsp + 0x40]
lea rdx, [rsp + 0x80]
mov rax, qword [sym.imp.WS2_32.dll_recv]
jmp 0x14000106b
lea rax, str.failed_to_write_whole_buffer
mov rbp, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov qword [rcx], 1
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movaps xmm6, xmmword [rsp + 0x2080]
add rsp, 0x2098
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x14000122d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov qword [rax + 8], rcx
mov qword [rax], 0
jmp 0x1400011db
shl rax, 0x20
or rax, 2
jmp 0x1400011cb
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srciomod.rs
mov rdx, r13
call fcn.140028df0
lea r8, [0x14002b520]
mov edx, 0x2000
mov rcx, r13
call fcn.140028ef0
int3
mov ecx, eax
lea r8, [rax]
add ebp, esp
mov dword [rsp + 0x40], ebp
jne 0x140003db4
mov qword [rsp + 0x38], r15
movzx r15d, byte [rdi + 0x38]
mov eax, dword [rdi + 0x30]
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x30], 0x30
movzx eax, byte [rdi + 0x38]
mov byte [rsp + 0x37], al
mov byte [rdi + 0x38], 1
mov r13, qword [rdi + 0x20]
mov r12, qword [rdi + 0x28]
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, r12
mov r8d, ebp
mov r9, rbx
call fcn.140004310
mov bl, 1
test al, al
jne 0x140003d81
inc rsi
nop word cs:[rax + rax]
invalid
add byte [rax - 1], cl
invalid
jmp 0x140006eca
enter 0xfeb, 0x31
rol byte [rax + 0xfc00f3c], cl
popfq
ret 0x148
or dword [rax + 1], 0x45e0ffc8
xor ebp, ebp
in eax, dx
in eax, dx
push rbp
add al, byte [rax]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov r8, r13
mov r9, rdx
shr eax, 1
mov eax, 0xcc00022c
int3
cmp byte [rcx - 0x3176b729], cl
sbb al, 0x89
clc
add byte [rax], al
add eax, 0x24a99
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
lea rax, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_sliceiter.rs
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
lea r8, [rsp + 0x28]
call fcn.1400046c0
test al, al
je 0x140006f10
mov al, 1
add rsp, 0x58
pop rdi
pop rsi
ret
mov rcx, qword [rdi + 8]
mov rdx, rsi
add rsp, 0x58
pop rdi
pop rsi
jmp fcn.1400048d0
add al, byte [rax]
add byte [rax], al
jmp 0x140008314
int3
invalid
cld
add al, 0
add byte [rax - 0x39], cl
invalid
ret
invalid
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
mov eax, 1
mov rcx, r14
mov rax, rdi
jmp 0x1400090cb
add dword [rax + rax*8 + 0x438850f], eax
add byte [rax], al
mov ecx, esi
add eax, dword [rax]
add byte [rax - 0x39], cl
invalid
add cl, ch
pop rbp
cmp al, byte [rdx]
add byte [rcx - 0x48], al
sbb dword [rax], eax
add byte [rax], al
add al, byte [rax]
add byte [rbp + 0x39], cl
in eax, 0xf
add dword [rdi + 2], 0
add byte [rbx - 0x80], al
invalid
cmp al, 0x2f
cmp byte [rdi + rbp], 0x4c
mov r8, qword ds:[rsi + 8]
mov rax, qword [rsi + 0x10]
cmp rax, r8
jae 0x140009c0e
movzx edx, byte [rcx + rax]
test ecx, ecx
invalid
ret 0x8944
cli
hlt
add byte [rax], al
add al, ch
loop 0x140009d31
invalid
cli
add al, 0
add byte [rax - 0x75], cl
and byte [rax - 0x7b], r9b
leave
adc eax, 0x23430
mov byte [rax + 8], 0
mov qword [rax], 0
add rsp, 0x28
pop rdi
int3
invalid
lea esi, [rsp + 0x28]
mov dword [rsp + 0x25], 0x44c60000
and al, 0x27
add byte [rax - 0x73], cl
je 0x14000b591
and al, 0x48
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x30], r8
cmp rdx, 2
jb 0x14000b471
lea rdi, [r9 + 2]
lea rsi, [rdx - 2]
mov qword [rcx], rdi
mov qword [rcx + 8], rsi
movzx r14d, byte [r9]
movzx ebx, byte [r9 + 1]
lea edi, [r14 - 0x30]
cmp edi, 0xa
jb case.0x1400012c6.194
or r14d, 0x20
add r14d, 0xffffff9f
add r14d, 0xa
or bh, byte [rdi - 1]
invalid
dec dword [rdi]
jmp 0x14000b55e
shl bh, 4
mov byte [rsp + 0x25], ch
add dh, al
add byte [rax], al
je 0x1400100ac
mov byte [rbp - 9], 0
mov rax, qword [0x140037158]
add eax, 0x2723c
mov eax, dword [0x140037120]
jae 0x14000ff3e
add byte [rbp + 0x48], ah
mov edx, dword [0x58]
and eax, 0x58
mov rdx, qword [0x58]
add eax, 0x272ed
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call fcn.140028f70
lea r9, [0x14002e211]
mov r8d, 9
mov rcx, rax
and al, 0x30
add rsp, 0x38
jmp rax
int3
cld
add byte [rax], al
add byte [rax - 0x75], cl
or byte [r14 + 0x44], r12b
mov dword [rax + rbx*2], esp
movzx edx, byte [rbp + 3]
add byte [rax], al
add byte [rax], al
or byte [rax + 0x39], 0xc1
je 0x140011613
adc dword [rax - 0x7b], ecx
leave
test rcx, rcx
jne 0x14001161a
call fcn.1400032e0
mov qword [rsi + 8], rcx
mov qword [rsi], rdi
mov dword [rsi], edi
or byte [rax - 0x77], cl
add rsp, 0x58
pop rax
pop rax
mov rdx, qword [rsp + 0x50]
and al, 0x50
int3
ror byte [rax - 0x75], 1
adc dword [rbx + rcx*4 + 0x41], ecx
or byte [rax - 0x77], cl
shr ecx, 0x2e
invalid
int3
int3
mov dword [rsp + 0x38], eax
add dword [rax], eax
lea rsi, [rbp - 0x10]
mov r8d, 4
mov rcx, rsi
call fcn.140004e00
mov esi, 0x48ffff35
lea eax, [0x14002e9f8]
cmovs ecx, dword [rcx - 0x72b70fbb]
add eax, 0x1d1a0
rol dword [rcx], 1
invalid
invalid
lea eax, [0x14002ea28]
rol dword [rcx], 1
add byte [rax - 0x77], cl
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x50], rax
and al, 0x50