Function at 0x14013d230
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x50
mov r14, qword [rsp + 0x98]
xor r12d, r12d
movzx eax, byte [rdx]
mov rbx, r9
mov rbp, r8
mov r15, rdx
mov rsi, rcx
mov qword [r14], r12
cmp al, 0xa
je 0x14013d8a3
cmp al, 0xd
je 0x14013d8a3
mov ecx, dword [rcx + 0x12c]
mov edi, 4
lea eax, [rcx + 1]
mov dword [rsi + 0x12c], eax
test ecx, ecx
jne 0x14013d677
mov dword [rsi + 0x138], r12d
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x3c8]
mov eax, dword [rcx + 0x8c]
test eax, 0xc0000003
je 0x14013d57e
movzx eax, byte [rdx]
mov rbx, rdx
test al, al
je 0x14013d2d8
cmp al, 0x20
je 0x14013d2cd
cmp byte [rbx], 9
jne 0x14013d2d8
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14013d2c4
mov edi, 5
lea r14, str.HTTP_
mov r8d, edi
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14013d39b
movsx eax, byte [rbx + 5]
mov edx, eax
sub edx, 0x31
je 0x14013d3fe
sub edx, 1
je 0x14013d32d
cmp edx, 1
je 0x14013d32d
lea rdx, str.Unsupported_HTTP_version_in_response
mov rcx, rsi
call fcn.140101e00
mov eax, 1
jmp 0x14013d92c
movzx ecx, byte [rbx + 6]
cmp cl, 0x20
je 0x14013d33b
cmp cl, 9
jne 0x14013d39b
add eax, 0xffffffd0
lea ecx, [rax + rax*4]
add ecx, ecx
mov dword [rsi + 0x138], ecx
movsx ecx, byte [rbx + 7]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14013d39b
movsx edx, byte [rbx + 8]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14013d39b
movsx r8d, byte [rbx + 9]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14013d39b
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rsi + 0x13c], ecx
movzx eax, byte [rbx + 0xa]
cmp al, 0x20
je 0x14013d65e
sub al, 9
cmp al, 4
jbe 0x14013d65e
mov r10, qword [rsi + 0x6d8]
lea rbx, [0x14026f9e0]
cmp rbp, rdi
mov r11d, r12d
setae r11b
test r10, r10
je 0x14013d50d
nop dword [rax]
mov r8, qword [r10]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [r8 + rax], r12b
jne 0x14013d3d0
cmp rax, rbp
jae 0x14013d497
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [r8 + rdx], r12b
jne 0x14013d3f0
jmp 0x14013d49a
cmp byte [rbx + 6], 0x2e
jne 0x14013d47e
movsx ecx, byte [rbx + 7]
lea eax, [rcx - 0x30]
cmp al, 1
ja 0x14013d47e
movzx eax, byte [rbx + 8]
cmp al, 0x20
je 0x14013d41b
cmp al, 9
jne 0x14013d47e
lea eax, [rcx - 0x26]
mov dword [rsi + 0x138], eax
movsx ecx, byte [rbx + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14013d47e
movsx edx, byte [rbx + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14013d47e
movsx r8d, byte [rbx + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14013d47e
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rsi + 0x13c], ecx
movzx eax, byte [rbx + 0xc]
cmp al, 0x20
je 0x14013d65e
cmp al, 9
je 0x14013d65e
sub al, 0xa
cmp al, 3
jbe 0x14013d65e
lea rdx, str.Unsupported_HTTP_1_subversion_in_response
mov rcx, rsi
call fcn.140101e00
mov eax, 1
jmp 0x14013d92c
mov rdx, rbp
test r8, r8
je 0x14013d4f9
mov r9, r15
cmp byte [r8], r12b
je 0x14013d4cf
movzx eax, byte [r9]
test al, al
je 0x14013d4cf
test rdx, rdx
je 0x14013d4d4
movzx ecx, byte [r8]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013d4db
inc r8
dec rdx
inc r9
cmp byte [r8], r12b
jne 0x14013d4a7
test rdx, rdx
jne 0x14013d4e0
mov edx, 1
jmp 0x14013d4f5
mov edx, r12d
jmp 0x14013d4f5
movzx eax, byte [r9]
mov edx, r12d
movzx ecx, byte [r8]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
sete dl
test edx, edx
jne 0x14013d508
mov r10, qword [r10 + 8]
test r10, r10
jne 0x14013d3c0
jmp 0x14013d50d
cmp rbp, rdi
jae 0x14013d55b
cmp rbp, rdi
mov rdx, r15
cmovbe rdi, rbp
movzx eax, byte [rdx]
test al, al
je 0x14013d542
test rdi, rdi
je 0x14013d55b
movzx ecx, byte [r14]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013d6a2
inc r14
dec rdi
inc rdx
cmp byte [r14], r12b
jne 0x14013d517
test rdi, rdi
je 0x14013d55b
movzx eax, byte [rdx]
movzx ecx, byte [r14]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x14013d6a2
cmp r11d, 1
jne 0x14013d6a2
mov dword [rsi + 0x13c], Ordinal_208
mov dword [rsi + 0x138], 0xa
jmp 0x14013d65e
bt eax, 0x12
jae 0x14013d6a2
movzx eax, byte [rdx]
mov rbx, r15
test al, al
je 0x14013d5a6
cmp al, 0x20
je 0x14013d59b
cmp byte [rbx], 9
jne 0x14013d5a6
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14013d592
mov r8d, 5
lea rdx, str.RTSP_
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14013d6a2
movzx eax, byte [rbx + 5]
sub al, 0x30
cmp al, 9
ja 0x14013d6a9
cmp byte [rbx + 6], 0x2e
jne 0x14013d6a9
movzx eax, byte [rbx + 7]
sub al, 0x30
cmp al, 9
ja 0x14013d6a9
movzx eax, byte [rbx + 8]
cmp al, 0x20
je 0x14013d5fa
cmp al, 9
jne 0x14013d6a9
movsx ecx, byte [rbx + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14013d6a9
movsx edx, byte [rbx + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14013d6a9
movsx r8d, byte [rbx + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14013d6a9
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rsi + 0x13c], ecx
movzx eax, byte [rbx + 0xc]
cmp al, 0x20
je 0x14013d654
cmp al, 9
je 0x14013d654
sub al, 0xa
cmp al, 3
ja 0x14013d6a9
mov dword [rsi + 0x138], sendto
mov rdx, qword [rsi + 0x20]
mov rcx, rsi
call fcn.14013c380
test eax, eax
jne 0x14013d92c
mov edi, listen
mov r8, rbp
xor edx, edx
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14013d6b3
lea rdx, str.Nul_byte_in_header
mov rcx, rsi
mov ebx, 8
call fcn.140101e00
jmp 0x14013d92a
mov byte [rsi + 0x1c9], r12b
mov eax, 8
jmp 0x14013d92c
mov ecx, dword [rsi + 0x12c]
cmp ecx, 2
jl 0x14013d6fd
movzx eax, byte [r15]
cmp al, 0x20
je 0x14013d6ca
cmp al, 9
jne 0x14013d6cf
cmp ecx, 2
jg 0x14013d6fd
mov r8, rbp
mov edx, 0x3a
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14013d6fd
lea rdx, str.Header_without_colon
mov rcx, rsi
mov ebx, 8
call fcn.140101e00
jmp 0x14013d92a
mov r8, rbp
mov rdx, r15
mov rcx, rsi
call fcn.14013ab50
test eax, eax
jne 0x14013d92c
cmp byte [rsi + 0xa56], r12b
je 0x14013d7bc
cmp qword [rsi + 0x270], r12
je 0x14013d784
mov rcx, qword [rsi + 0xd8]
test rcx, rcx
je 0x14013d742
cmp byte [rcx + 0x22b], r12b
je 0x14013d742
mov bl, 1
jmp 0x14013d749
xor bl, bl
test rcx, rcx
je 0x14013d750
mov byte [rcx + 0x22b], 1
mov rax, qword [rsi + 0x1e8]
mov r9, rbp
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rsi
call qword [rsi + 0x270]
mov rax, qword [rsi + 0xd8]
test rax, rax
je 0x14013d7bc
mov byte [rax + 0x22b], bl
jmp 0x14013d7bc
mov r9, qword [rsi + 0x1e0]
lea rcx, [0x14026f8a3]
mov edx, 2
mov r8d, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [rsi + 0x1e0]
mov r8d, 1
mov rdx, rbp
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov eax, dword [rsi + 0x13c]
sub eax, 0x64
cmp eax, 0x64
jae 0x14013d7cd
or edi, 0x20
cmp qword [rsi + 0x148], r12
jne 0x14013d7e8
mov rcx, rsi
call fcn.140100a90
mov ebx, eax
test eax, eax
jne 0x14013d92a
mov rdx, qword [rsi + 0x148]
test rdx, rdx
jne 0x14013d7fb
mov ebx, reloc.WS2_32.dll_socket
jmp 0x14013d811
mov rax, qword [rdx]
mov r9, r15
mov r8d, edi
mov qword [rsp + 0x20], rbp
mov rcx, rsi
call qword [rax + Ordinal_26]
mov ebx, eax
mov r9, rbp
mov dword [rsp + 0x20], ebx
mov r8d, edi
lea rdx, str.client_write_type_x__len_zu______d
mov rcx, rsi
call fcn.1401022e0
test ebx, ebx
jne 0x14013d92a
mov edx, dword [rsi + 0x124]
mov r9d, 0x4b000
cmp rbp, r9
jae 0x14013d87a
mov ecx, dword [rsi + 0x1300]
lea eax, [rdx + rbp]
add dword [rsi + 0x120], ebp
add ecx, ebp
mov dword [rsi + 0x1300], ecx
mov dword [rsi + 0x124], eax
cmp eax, r9d
ja 0x14013d875
cmp ecx, 0x5dc000
jbe 0x14013d89c
mov r9d, 0x5dc000
mov eax, ecx
mov r8d, eax
jmp 0x14013d87e
lea r8, [rdx + rbp]
test r8, r8
je 0x14013d89c
lea rdx, str.Too_large_response_headers:__zu____u
mov rcx, rsi
call fcn.140101e00
mov eax, gethostname
jmp 0x14013d92c
xor eax, eax
jmp 0x14013d92c
lea rax, [r8 + 1]
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.1401002b0
test eax, eax
jne 0x14013d92c
cmp qword [rsi + 0xc50], r12
je 0x14013d8dc
mov rax, qword [rsi + 0xc48]
mov byte [rax], r12b
mov r8, qword [rsp + 0x38]
lea rax, [rsp + 0x98]
mov rdx, qword [rsp + 0x30]
mov r9, rbx
mov qword [rsp + 0x28], rax
mov rcx, rsi
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov qword [rsi + 0xc50], r12
call fcn.14013c730
mov rdx, qword [rsp + 0x98]
mov ebx, eax
add qword [r14], rdx
mov rcx, qword [rsp + 0x30]
call qword [0x1402e1138]
mov eax, ebx
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret