Function at 0x14007beb0
Capabilities:
Send data
Send data on socket
Write file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
xor ebx, ebx
xor r15d, r15d
xor r12d, r12d
mov esi, r8d
mov rbp, rdx
mov rdi, rcx
mov r13, rcx
test rcx, rcx
je 0x14007c413
mov rax, qword [rcx + 0x58]
test rax, rax
je 0x14007bf06
mov r9d, r8d
mov dword [rsp + 0x28], 1
mov r8, rdx
mov dword [rsp + 0x20], ebx
lea edx, [rbx + 3]
call rax
mov ebx, eax
test eax, eax
jle 0x14007c415
mov qword [rsp + 0x78], r14
lea r8, [0x140000000]
mov r14d, 0xffffffff
test ebx, ebx
js 0x14007c360
mov rax, qword [rdi + 8]
test rax, rax
je 0x14007bf46
mov r9, qword [rax + 0x108]
test r9, r9
je 0x14007bf46
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
call r9
jmp 0x14007c2d6
movzx edx, byte [rdi + 0x80]
lea eax, [rdx - 2]
cmp eax, 6
ja case.default.0x14007bf66
cdqe
mov ecx, dword [r8 + rax*4 + 0x7c424]
add rcx, r8
jmp rcx
mov dword [rsp + 0x70], 0
test rbp, rbp
je 0x14007c0a0
xor r8d, r8d
lea r9, [rsp + 0x70]
test byte [rdi + 0x7c], 1
mov edx, esi
mov rcx, rbp
je 0x14007bfab
mov dword [rsp + 0x20], 2
call fcn.1400c64a0
cmp eax, 0xffffff36
je 0x14007bfb5
mov r15d, r14d
mov ebx, r14d
jmp 0x14007c2d8
mov dword [rsp + 0x20], 0
jmp 0x14007bf94
mov eax, dword [rsp + 0x70]
test eax, eax
jne 0x14007bfc7
xor r15d, r15d
xor ebx, ebx
jmp 0x14007c2d8
mov rcx, rax
mov rax, qword [0x140706608]
test rax, rax
je 0x14007bfda
call rax
jmp 0x14007bfe0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x14007bfa0
test byte [rdi + 0x7c], 1
lea r9, [rsp + 0x70]
mov r8, rax
mov edx, esi
mov rcx, rbp
je 0x14007c039
mov dword [rsp + 0x20], 2
call fcn.1400c64a0
test eax, eax
jns 0x14007c066
mov rax, qword [0x1407065f8]
mov rcx, rbx
test rax, rax
je 0x14007c028
call rax
mov r15d, r14d
mov ebx, r14d
jmp 0x14007c2d8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15d, r14d
mov ebx, r14d
jmp 0x14007c2d8
mov dword [rsp + 0x20], 0
call fcn.1400c64a0
test eax, eax
jns 0x14007c066
mov rax, qword [0x1407065f8]
mov rcx, rbx
test rax, rax
je 0x14007c028
call rax
mov r15d, r14d
mov ebx, r14d
jmp 0x14007c2d8
test r12, r12
je 0x14007c084
mov rax, qword [0x1407065f8]
mov rcx, r12
test rax, rax
je 0x14007c07e
call rax
jmp 0x14007c084
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12, rbx
mov ebx, esi
mov r15d, esi
test esi, esi
jle 0x14007c2d8
mov esi, dword [rsp + 0x70]
mov rbp, r12
jmp 0x14007c2d8
mov ebx, 0xffffff53
mov r15d, ebx
jmp case.default.0x14007bf66
test rbp, rbp
je 0x14007c17b
mov ebx, 0xfffffffe
cmp dl, 5
je 0x14007c0c7
xor ebx, ebx
jmp 0x14007c2d8
cmp qword [rdi + 0x20], 0
je 0x14007c158
movsxd rax, dword [rdi + 0x68]
test esi, esi
jne 0x14007c0f0
mov r9, rax
add r9, qword [rdi + 0x30]
mov qword [rsp + 0x88], r9
xor ebx, ebx
jmp 0x14007c2d8
mov ecx, dword [rdi + 0x6c]
cmp eax, ecx
jge 0x14007c101
mov r8d, dword [rdi + 0x60]
mov edx, ecx
sub edx, eax
jmp 0x14007c12b
test ecx, ecx
jle 0x14007c10d
cmp eax, ecx
je 0x14007bfa3
mov r8d, dword [rdi + 0x60]
mov edx, r8d
sub edx, eax
test edx, edx
jg 0x14007c12b
test ecx, ecx
je 0x14007bfa3
mov edx, ecx
jg 0x14007c129
mov edx, r8d
xor eax, eax
cmp esi, edx
movsxd r9, eax
mov ebx, esi
cmovge ebx, edx
add r9, qword [rdi + 0x30]
add eax, ebx
mov qword [rsp + 0x88], r9
mov dword [rdi + 0x68], eax
cmp eax, r8d
jne 0x14007c160
test ecx, ecx
jle 0x14007c160
mov dword [rdi + 0x68], 0
jmp 0x14007c160
mov r9, qword [rsp + 0x88]
test ebx, ebx
jle 0x14007c2d8
movsxd r8, ebx
mov rdx, rbp
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14007c2d8
mov ebx, 0xffffff53
jmp case.default.0x14007bf66
mov rcx, qword [rdi]
test rcx, rcx
je 0x14007c19b
test rbp, rbp
je 0x14007c19b
test dword [rdi + 0x7c], 0x200
je 0x14007c1a2
xor ebx, ebx
jmp case.default.0x14007bf66
test esi, esi
jne 0x14007c1ae
lea ebx, [rsi + 1]
jmp case.default.0x14007bf66
mov eax, dword [rdi + 0x60]
add eax, esi
movsxd rdx, eax
call fcn.14007d5b0
test eax, eax
jne 0x14007c1c6
xor ebx, ebx
jmp 0x14007c2d8
mov rax, qword [rdi]
mov rdx, qword [rax]
test rdx, rdx
jne 0x14007c1d8
xor ebx, ebx
jmp 0x14007c2d8
movsxd rcx, dword [rdi + 0x60]
add rcx, rdx
movsxd r8, esi
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi]
mov ebx, esi
mov rax, qword [rcx]
mov qword [rdi + 0x30], rax
mov eax, dword [rcx + 0x10]
add dword [rdi + 0x60], esi
add dword [rdi + 0x68], esi
mov dword [rdi + 0x74], eax
jmp 0x14007c2d8
mov r9, qword [rdi + 0x30]
test r9, r9
je 0x14007c229
movsxd r8, esi
mov edx, 1
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rbx, rax
jmp 0x14007c2d8
mov ebx, 0xffffff52
jmp case.default.0x14007bf66
cmp qword [rdi + 0x18], 0
je case.default.0x14007bf66
test rbp, rbp
je 0x14007c17b
mov r9, qword [rdi + 0x30]
test r9, r9
je 0x14007c2ab
cmp dword [r9 + 0x240], 0
jne 0x14007c290
cmp qword [0x140528fe8], 0
lea rax, [0x140528fe0]
je 0x14007c281
mov ecx, dword [r9 + 0x230]
cmp ecx, dword [rax]
je 0x14007c2a6
add rax, 0x10
cmp qword [rax + 8], 0
jne 0x14007c272
mov ecx, dword [r9 + 0x230]
cmp ecx, 0x357
jne 0x14007c2ab
mov r8d, esi
mov rdx, rbp
mov rcx, r9
call fcn.1400734c0
dec eax
neg eax
sbb ebx, ebx
jmp 0x14007c2d8
mov ecx, dword [rax + 4]
jmp 0x14007c288
movsxd r8, esi
mov rdx, rbp
mov rcx, r9
call fcn.140073a80
xor ebx, ebx
cmp eax, 1
cmovne ebx, r14d
jmp 0x14007c2d8
mov ecx, dword [rdi + 0x74]
xor r9d, r9d
mov r8d, esi
mov rdx, rbp
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
lea r8, [0x140000000]
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x14007bf18
jmp 0x14007c360
cmp dword [r13 + 0x78], 0
jne 0x14007c35d
mov rbx, qword [rdi + 0x30]
test rbx, rbx
jne 0x14007c305
mov ebx, 0xffffff53
jmp 0x14007c360
and dword [rdi + 0x7c], 0xffffffef
test rbp, rbp
je 0x14007c3a4
test esi, esi
js 0x14007c3a4
mov rax, qword [rbx + 0x530]
test rax, rax
je 0x14007c33e
mov edx, 8
mov rcx, rbx
lea r8d, [rdx - 7]
call rax
mov dword [rbx + 0x538], 8
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call fcn.140098540
test eax, eax
js 0x14007c3aa
mov r14d, eax
jne 0x14007c35d
mov dword [r13 + 0x78], 1
mov ebx, r14d
mov rax, qword [r13 + 0x58]
mov r14, qword [rsp + 0x78]
test rax, rax
je 0x14007c38c
mov dword [rsp + 0x28], ebx
mov r9d, esi
mov r8, rbp
mov dword [rsp + 0x20], 0
mov edx, 0x83
mov rcx, r13
call rax
mov ebx, eax
test r12, r12
je 0x14007c407
mov rax, qword [0x1407065f8]
mov rcx, r12
test rax, rax
je 0x14007c401
call rax
jmp 0x14007c407
mov r14d, 0xffffff53
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x14007c355
mov ecx, dword [rdx + 0x2e8]
lea eax, [rcx + 0x147]
test eax, 0xfffffffb
je 0x14007c3f8
cmp ecx, 0xfffffea9
je 0x14007c355
mov eax, 0x2000
test word [rdx + 0x4e6], ax
jne 0x14007c355
cmp ecx, 0xfffffe73
je 0x14007c355
lea eax, [rcx - 2]
cmp eax, 1
ja 0x14007c355
or dword [rdi + 0x7c], 0x10
jmp 0x14007c35d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15d, r15d
jle 0x14007c413
mov eax, r15d
test ebx, ebx
jg 0x14007c415
mov eax, ebx
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret