Function at 0x541450
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
sub rsp, 0x88
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 8], r12
mov qword [rax - 0x10], r13
mov qword [rax - 0x18], r14
mov qword [rax - 0x20], r15
mov rax, qword [rcx]
mov rdi, qword [rax + 0x8810]
mov r13, rcx
mov edx, 0x5c
mov rcx, qword [rdi]
call qword [sym.imp.msvcrt.dll_strchr]
mov rsi, qword [r13]
xor r15d, r15d
lea r12, [rsi + 0x678]
mov rbp, rax
mov r14, r15
call fcn.00552c90
test rbp, rbp
mov rdx, qword [rsi + 0x1c0]
mov qword [r13 + 0x268], rdx
mov rcx, qword [rsi + 0x158]
mov rbx, rax
mov qword [r13 + 0x270], rcx
mov rcx, qword [r13]
mov qword [rcx + 0x120], r12
je 0x5414e3
cmp byte [rbp + 1], r14b
jne 0x5414ed
mov eax, 0x25
jmp 0x5416a8
cmp qword [rsi + 0x87f8], r14
je 0x54150b
mov rcx, qword [rdi]
lea rdx, [0x0058f0cc]
call qword [sym.imp.msvcrt.dll_fopen]
mov rbp, rax
jmp 0x541543
mov rax, qword [r13]
mov rcx, qword [rdi]
mov edx, 0x8301
mov r8d, dword [rax + 0x3c4]
call qword [sym.imp.msvcrt.dll__open]
test eax, eax
js 0x541548
mov ecx, eax
call qword [sym.imp.msvcrt.dll__close]
mov rcx, qword [rdi]
lea rdx, [0x00563174]
call qword [sym.imp.msvcrt.dll_fopen]
mov rbp, rax
test rbp, rbp
jne 0x541564
mov r8, qword [rdi]
lea rdx, str.Cant_open__s_for_writing
mov rcx, rsi
call fcn.005374d0
mov eax, reloc.WS2_32.dll_socket
jmp 0x5416a8
mov rdx, qword [rsi + 0x240]
cmp rdx, 0xffffffffffffffff
je 0x541579
mov rcx, rsi
call fcn.00553200
cmp qword [rsi + 0x87f8], r14
jge 0x5415d0
mov rcx, rbp
call qword [sym.imp.msvcrt.dll__fileno]
lea rdx, [rsp + 0x28]
mov ecx, eax
call qword [sym.imp.msvcrt.dll__fstati64]
test eax, eax
je 0x5415c1
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_fclose]
mov r8, qword [rdi]
lea rdx, str.Cant_get_the_size_of__s
mov rcx, rsi
call fcn.005374d0
mov eax, reloc.WS2_32.dll_socket
jmp 0x5416a8
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x87f8], rax
nop
lea r8, [rsp + 0x20]
mov edx, 0x4000
mov rcx, r13
call fcn.00532820
test eax, eax
mov edi, eax
jne 0x54169d
movsxd rax, dword [rsp + 0x20]
test eax, eax
jle 0x541687
mov rdi, rax
mov rax, qword [rsi + 0x87f8]
test rax, rax
je 0x54162f
cmp rdi, rax
jg 0x54161f
sub rax, rdi
mov rcx, r12
mov rdi, r15
mov qword [rsi + 0x87f8], rax
jmp 0x541632
lea rcx, [rax + r12]
sub rdi, rax
mov qword [rsi + 0x87f8], r15
jmp 0x541632
mov rcx, r12
mov r9, rbp
mov r8, rdi
mov edx, 1
call qword [sym.imp.msvcrt.dll_fwrite]
cmp rax, rdi
jne 0x541680
add r14, rdi
mov rcx, rsi
mov rdx, r14
call fcn.005531d0
mov rcx, r13
call fcn.00553220
test eax, eax
jne 0x541679
mov rdx, rbx
mov rcx, rsi
call fcn.005549e0
test eax, eax
mov edi, eax
je 0x5415d0
jmp 0x54169d
mov edi, 0x2a
jmp 0x54169d
mov edi, reloc.WS2_32.dll_getservbyname
jmp 0x54169d
mov rcx, r13
call fcn.00553220
mov ecx, edi
mov edi, 0x2a
test eax, eax
cmovne ecx, edi
mov edi, ecx
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_fclose]
mov eax, edi
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
add rsp, 0x88
ret