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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbp, r9
mov rsi, r8
mov r15, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x30], 0x100000
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp]
mov qword [rsp + 0x20], rax
mov r9, qword [rsi]
mov r8, qword [0x18005fdf8]
lea rdx, str._s_t_s_t_s_t_llu_t_u
lea rcx, [rsp + 0x48]
call fcn.180002980
mov rbx, qword [rsp + 0x48]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.18000da80
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
or r12d, 0xffffffff
cmp rcx, rbx
je 0x1800093ad
cmp dword [rbx + 0x10], 0
jl 0x18000939e
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18000939e
call fcn.180001790
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180009393
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x1800093ad
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.180001b40
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800093cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rbx - 0x10]
add ecx, 0x400
call fcn.18002f604
mov r14, rax
mov qword [rsp + 0x58], rax
mov esi, dword [rsp + 0xd8]
mov r13d, 1
or edx, 0xffffffff
mov rcx, qword [0x18005ff88]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x18005ff90], 0
je 0x180009413
mov edi, r13d
jmp 0x180009440
xor eax, eax
mov rdx, qword [0x18005ff98]
test rdx, rdx
setne al
test eax, eax
je 0x180009a2a
mov rcx, qword [rbp]
call fcn.180030ab0
test eax, eax
sete al
xor edi, edi
test al, al
cmovne edi, r13d
mov rcx, qword [0x18005ff88]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test edi, edi
jne 0x1800099ba
mov byte [r14], gethostbyname
xor eax, eax
mov dword [r14 + 1], eax
mov word [r14 + 5], 0x3134
mov byte [r14 + 7], 1
lea rcx, [r14 + 8]
mov r8, rbx
lea rdx, [0x18004e3b4]
call fcn.18003069c
lea edi, [rax + 8]
lea ecx, [rdi - 5]
mov dword [r14 + 1], ecx
mov r8d, edi
mov rdx, r14
test esi, esi
je 0x1800094a0
xor r9d, r9d
mov rcx, r15
call qword [sym.imp.WS2_32.dll_send]
jmp 0x1800094a8
mov ecx, r15d
call fcn.180004ae0
cmp eax, edi
jne 0x18000996c
test esi, esi
je 0x180009560
xor edi, edi
nop word [rax + rax]
lea rdx, [rsp + rdi + 0x40]
xor r9d, r9d
mov r8d, r13d
mov rcx, r15
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
jne 0x18000991b
inc edi
cmp edi, 4
jb 0x1800094c0
mov edi, dword [rsp + 0x40]
cmp edi, 0x6400000
ja 0x18000991b
lea ecx, [rdi + 1]
call fcn.18002f604
mov r13, rax
mov byte [rdi + rax], 0
xor esi, esi
mov ebp, edi
test edi, edi
je 0x180009536
nop dword [rax + rax]
mov edx, esi
add rdx, r13
xor r9d, r9d
mov r8d, ebp
mov rcx, r15
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x1800097dd
add esi, eax
cmp esi, edi
jae 0x180009536
sub ebp, eax
jne 0x180009510
test r13, r13
je 0x180009913
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [0x18004e26c]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_send]
mov rbp, qword [rsp + 0xc8]
jmp 0x1800095ce
mov r8d, 4
lea rdx, [rsp + 0x44]
mov rcx, r15
call fcn.18002ce00
test eax, eax
je 0x18000991b
mov edi, dword [rsp + 0x44]
cmp edi, 0x6400000
ja 0x18000991b
lea ecx, [rdi + 1]
call fcn.18002f604
mov r13, rax
mov byte [rdi + rax], 0
mov r8d, edi
mov rdx, rax
mov rcx, r15
call fcn.18002ce00
test eax, eax
je 0x180009909
test r13, r13
je 0x18000991b
mov r8d, 1
lea rdx, [0x18004e26c]
mov ecx, r15d
call fcn.180004ae0
cmp edi, 1
je 0x18000988c
dec edi
mov esi, edi
lea rcx, [r13 + 1]
mov r9, qword [rsp + 0xb8]
mov r8d, edi
mov edx, 1
call fcn.180031000
mov rcx, qword [rsp + 0xb8]
call fcn.180030d40
mov rcx, r13
call fcn.18002f934
cmp edi, 0x100000
jb 0x180009816
mov rax, qword [rsp + 0xd0]
add rax, rsi
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0x30], 0x100000
mov qword [rsp + 0x28], rax
mov rax, qword [rbp]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xc0]
mov r9, qword [rax]
mov r8, qword [0x18005fdf8]
lea rdx, str._s_t_s_t_s_t_llu_t_u
lea rcx, [rsp + 0x48]
call fcn.180002980
mov rbx, qword [rsp + 0x48]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18000da80
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x1800097a8
cmp dword [rdi + 0x10], 0
jl 0x1800096cb
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1800096cb
call fcn.180001790
mov rbx, rax
mov ecx, r12d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800096bd
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x1800097a8
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x18000972d
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x1800097a8
cmp dword [rdi + 0x10], 0
jge 0x1800096ff
cmp dword [rbx - 0xc], 0
jl 0x1800097ea
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x1800097a8
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x180009719
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
jmp 0x1800097a8
test r13, r13
je 0x18000980b
mov r14d, dword [rbx - 0x10]
mov rbp, r13
sub rbp, rbx
test esi, esi
js 0x180009800
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x18000976a
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.180001ef0
mov rbx, qword [rsp + 0x48]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp rbp, r14
ja 0x180009787
lea r8, [rbx + rbp]
call fcn.18002f970
jmp 0x18000978f
mov r8, r13
call fcn.18002feb4
cmp esi, dword [rbx - 0xc]
jg 0x1800097f5
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800097c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rbx, qword [rsp + 0x48]
jmp 0x1800093e8
mov rcx, r13
call fcn.18002f934
jmp 0x180009913
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
nop
mov rcx, r14
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000983b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180009862
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x180009882
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov eax, 1
jmp 0x180009a56
mov rcx, r14
call fcn.18002f934
mov rcx, r13
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800098b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800098e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1800098ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, 1
jmp 0x180009a56
mov rcx, r13
call fcn.18002f934
jmp 0x18000991b
mov rbp, qword [rsp + 0xc8]
mov rcx, r14
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180009940
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180009967
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
jmp 0x180009a35
mov rcx, r14
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180009991
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800099b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
jmp 0x180009a35
mov rcx, r14
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800099df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180009a06
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x180009a25
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r13d
jmp 0x180009a56
mov ecx, 0x80004005
call fcn.180001050
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x180009a54
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor eax, eax
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret