Function at 0x14007c380
Capabilities:
Encode data using xor
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x598]
sub rsp, 0x680
movaps xmmword [rax - 0x28], xmm6
lea rdi, [rcx + 0x29c]
movaps xmmword [rax - 0x38], xmm7
xor r15d, r15d
movaps xmmword [rax - 0x48], xmm8
movzx r14d, dl
movaps xmmword [rax - 0x58], xmm9
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm10
mov ebx, r15d
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + 0x280]
xor edx, edx
movss xmm2, dword [rdi]
mov rax, qword [rcx]
call qword [rax + htons]
mov word [rsp + rbx*2 + 0x68], ax
lea rdi, [rdi + 4]
inc rbx
cmp rbx, 0x1c
jl 0x14007c400
movsd xmm12, qword [0x140148ea0]
lea r10, [0x140148e10]
movsd xmm9, qword [0x14012f390]
mov r9d, r15d
movsd xmm10, qword [0x140148e98]
mov rcx, r15
movsd xmm11, qword [0x140148ea8]
movsd xmm15, qword [0x140148e90]
nop
movsd xmm8, qword [rsi + 0x310]
lea r8, [rbp + 0xd0]
movsd xmm7, qword [rsi + 0x318]
add r8, rcx
movss xmm13, dword [rcx + r10]
xorps xmm1, xmm1
movss xmm14, dword [rcx + r10 + 4]
mov rdx, r15
nop
movsx eax, word [rsp + rdx*2 + 0x68]
xorps xmm4, xmm4
xorps xmm2, xmm2
xorps xmm5, xmm5
cvtss2sd xmm2, xmm13
cvtsi2sd xmm4, eax
cvtss2sd xmm5, xmm14
minsd xmm4, xmm10
movaps xmm3, xmm2
mulsd xmm3, xmm8
movaps xmm0, xmm5
mulsd xmm0, xmm7
maxsd xmm4, xmm11
addsd xmm3, xmm4
addsd xmm3, xmm0
movsd qword [r8 - 0x50], xmm3
andps xmm3, xmm9
comisd xmm3, xmm1
jbe 0x14007c4e0
movaps xmm1, xmm3
movsx eax, word [rsp + rdx*2 + 0x6a]
xorps xmm6, xmm6
movaps xmm3, xmm2
movaps xmm0, xmm5
mulsd xmm3, xmm4
cvtsi2sd xmm6, eax
mulsd xmm0, xmm8
minsd xmm6, xmm10
maxsd xmm6, xmm11
addsd xmm3, xmm6
addsd xmm3, xmm0
movsd qword [r8 - 0x28], xmm3
andps xmm3, xmm9
comisd xmm3, xmm1
jbe 0x14007c520
movaps xmm1, xmm3
movsx eax, word [rsp + rdx*2 + 0x6c]
xorps xmm7, xmm7
movaps xmm3, xmm2
movaps xmm0, xmm5
mulsd xmm3, xmm6
cvtsi2sd xmm7, eax
mulsd xmm0, xmm4
minsd xmm7, xmm10
maxsd xmm7, xmm11
addsd xmm3, xmm7
addsd xmm3, xmm0
movsd qword [r8], xmm3
andps xmm3, xmm9
comisd xmm3, xmm1
jbe 0x14007c55e
movaps xmm1, xmm3
movsx eax, word [rsp + rdx*2 + 0x6e]
xorps xmm4, xmm4
movaps xmm3, xmm2
movaps xmm0, xmm5
mulsd xmm3, xmm7
cvtsi2sd xmm4, eax
mulsd xmm0, xmm6
minsd xmm4, xmm10
maxsd xmm4, xmm11
addsd xmm3, xmm4
addsd xmm3, xmm0
movsd qword [r8 + 0x28], xmm3
andps xmm3, xmm9
comisd xmm3, xmm1
jbe 0x14007c59d
movaps xmm1, xmm3
movsx eax, word [rsp + rdx*2 + 0x70]
xorps xmm6, xmm6
movaps xmm3, xmm2
movaps xmm0, xmm5
mulsd xmm3, xmm4
cvtsi2sd xmm6, eax
mulsd xmm0, xmm7
minsd xmm6, xmm10
maxsd xmm6, xmm11
addsd xmm3, xmm6
addsd xmm3, xmm0
movsd qword [r8 + 0x50], xmm3
andps xmm3, xmm9
comisd xmm3, xmm1
jbe 0x14007c5dc
movaps xmm1, xmm3
movsx eax, word [rsp + rdx*2 + 0x72]
xorps xmm7, xmm7
movaps xmm3, xmm2
movaps xmm0, xmm5
mulsd xmm3, xmm6
cvtsi2sd xmm7, eax
mulsd xmm0, xmm4
minsd xmm7, xmm10
maxsd xmm7, xmm11
addsd xmm3, xmm7
addsd xmm3, xmm0
movsd qword [r8 + 0x78], xmm3
andps xmm3, xmm9
comisd xmm3, xmm1
jbe 0x14007c61b
movaps xmm1, xmm3
movsx eax, word [rsp + rdx*2 + 0x74]
xorps xmm8, xmm8
mulsd xmm2, xmm7
mulsd xmm5, xmm6
cvtsi2sd xmm8, eax
minsd xmm8, xmm10
maxsd xmm8, xmm11
addsd xmm2, xmm8
addsd xmm2, xmm5
movsd qword [r8 + 0xa0], xmm2
andps xmm2, xmm9
comisd xmm2, xmm1
jbe 0x14007c65a
movaps xmm1, xmm2
add rdx, 7
add r8, 0x118
cmp rdx, 0x1c
jl 0x14007c490
comisd xmm1, xmm12
jae 0x14007c686
movaps xmm12, xmm1
mov dword [rsi + 0x330], r9d
mov eax, r9d
jmp 0x14007c68c
mov eax, dword [rsi + 0x330]
comisd xmm12, xmm15
jbe 0x14007c6a6
inc r9d
add rcx, 8
cmp r9d, 5
jl 0x14007c460
jmp 0x14007c6b0
mov dword [rsi + 0x330], r15d
mov eax, r15d
movsxd r8, eax
mov edx, 0x4000
movsd qword [rsi + 0x310], xmm8
mov ecx, r15d
movsd qword [rsi + 0x318], xmm7
cvttsd2si r9d, xmm12
mov dword [rsi + 0x334], r15d
movsd xmm0, qword [rbp + r8*8 + 0x80]
movsd xmm1, qword [rbp + r8*8 + 0xa8]
movsd qword [rbp - 0x60], xmm0
movsd xmm0, qword [rbp + r8*8 + 0xd0]
movsd qword [rbp - 0x58], xmm1
movsd xmm1, qword [rbp + r8*8 + 0xf8]
movsd qword [rbp - 0x50], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x120]
movsd qword [rbp - 0x48], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x148]
movsd qword [rbp - 0x40], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x170]
movsd qword [rbp - 0x38], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x198]
movsd qword [rbp - 0x30], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x1c0]
movsd qword [rbp - 0x28], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x1e8]
movsd qword [rbp - 0x20], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x210]
movsd qword [rbp - 0x18], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x238]
movsd qword [rbp - 0x10], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x260]
movsd qword [rbp - 8], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x288]
movsd qword [rbp], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x2b0]
movsd qword [rbp + 8], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x2d8]
movsd qword [rbp + 0x10], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x300]
movsd qword [rbp + 0x18], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x328]
movsd qword [rbp + 0x20], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x350]
movsd qword [rbp + 0x28], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x378]
movsd qword [rbp + 0x30], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x3a0]
movsd qword [rbp + 0x38], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x3c8]
movsd qword [rbp + 0x40], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x3f0]
movsd qword [rbp + 0x48], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x418]
movsd qword [rbp + 0x50], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x440]
movsd qword [rbp + 0x58], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x468]
movsd qword [rbp + 0x60], xmm0
movsd xmm0, qword [rbp + r8*8 + 0x490]
movsd qword [rbp + 0x68], xmm1
movsd xmm1, qword [rbp + r8*8 + 0x4b8]
movsd qword [rbp + 0x70], xmm0
movsd qword [rbp + 0x78], xmm1
nop dword [rax]
mov eax, edx
sar eax, 3
add eax, r9d
test edx, eax
jne 0x14007c8a1
mov ecx, dword [rsi + 0x334]
inc ecx
sar edx, 1
mov dword [rsi + 0x334], ecx
cmp ecx, 0xc
jl 0x14007c880
movss xmm5, dword [r10 + r8*8]
lea rdx, [rbp - 0x50]
movss xmm6, dword [r10 + r8*8 + 4]
mov ebx, 1
movsd xmm2, qword [rsi + 0x320]
lea r8, [rsp + 0x6c]
movsd xmm3, qword [rsi + 0x328]
mov eax, ebx
rol eax, cl
mov r10d, 0xffff8000
cvtps2pd xmm5, xmm5
lea r9d, [rbx + 3]
movd xmm7, eax
cvtdq2pd xmm7, xmm7
cvtps2pd xmm6, xmm6
nop dword [rax + rax]
movaps xmm0, xmm6
movaps xmm1, xmm2
mulsd xmm0, xmm3
mulsd xmm1, xmm5
addsd xmm1, qword [rdx - 0x10]
addsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007c92a
mov eax, 0x7fff
jmp 0x14007c931
cmp eax, r10d
cmovl eax, r10d
mov word [r8 - 4], ax
movaps xmm0, xmm7
sar eax, cl
mulsd xmm2, xmm6
movd xmm3, eax
cvtdq2pd xmm3, xmm3
subsd xmm3, xmm1
movaps xmm1, xmm3
mulsd xmm1, xmm5
addsd xmm1, qword [rdx - 8]
addsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007c97b
mov eax, 0x7fff
jmp 0x14007c982
cmp eax, r10d
cmovl eax, r10d
mov word [r8 - 2], ax
movaps xmm0, xmm6
sar eax, cl
mulsd xmm0, xmm3
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
movaps xmm1, xmm2
mulsd xmm1, xmm5
addsd xmm1, qword [rdx]
addsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007c9ce
mov eax, 0x7fff
jmp 0x14007c9d5
cmp eax, r10d
cmovl eax, r10d
mov word [r8], ax
movaps xmm0, xmm6
sar eax, cl
mulsd xmm0, xmm2
movd xmm3, eax
cvtdq2pd xmm3, xmm3
subsd xmm3, xmm1
movaps xmm1, xmm3
mulsd xmm1, xmm5
addsd xmm1, qword [rdx + 8]
addsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007ca21
mov eax, 0x7fff
jmp 0x14007ca28
cmp eax, r10d
cmovl eax, r10d
mov word [r8 + 2], ax
movaps xmm0, xmm6
sar eax, cl
mulsd xmm0, xmm3
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
movaps xmm1, xmm2
mulsd xmm1, xmm5
addsd xmm1, qword [rdx + 0x10]
addsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007ca75
mov eax, 0x7fff
jmp 0x14007ca7c
cmp eax, r10d
cmovl eax, r10d
mov word [r8 + 4], ax
movaps xmm0, xmm6
sar eax, cl
mulsd xmm0, xmm2
movd xmm4, eax
cvtdq2pd xmm4, xmm4
subsd xmm4, xmm1
movaps xmm1, xmm4
mulsd xmm1, xmm5
addsd xmm1, qword [rdx + 0x18]
addsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007cac9
mov eax, 0x7fff
jmp 0x14007cad0
cmp eax, r10d
cmovl eax, r10d
mov word [r8 + 6], ax
movaps xmm0, xmm6
sar eax, cl
mulsd xmm0, xmm4
movd xmm3, eax
cvtdq2pd xmm3, xmm3
subsd xmm3, xmm1
movaps xmm1, xmm3
mulsd xmm1, xmm5
addsd xmm1, qword [rdx + 0x20]
addsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, 0x800
and eax, 0xfffff000
cmp eax, 0x7fff
jle 0x14007cb1d
mov eax, 0x7fff
jmp 0x14007cb24
cmp eax, r10d
cmovl eax, r10d
mov word [r8 + 8], ax
add rdx, 0x38
sar eax, cl
add r8, 0xe
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
sub r9, rbx
jne 0x14007c8f0
movzx eax, byte [rsi + 0x330]
lea rdx, [rsp + 0x68]
shl al, 4
mov r8, r15
or al, byte [rsi + 0x334]
mov r9d, recv
mov byte [rsp + 0x30], al
movsd qword [rsi + 0x328], xmm3
movsd qword [rsi + 0x320], xmm2
mov byte [rsp + 0x31], r14b
nop
movzx ecx, word [rdx]
lea rdx, [rdx + 4]
sar cx, 0xc
mov rax, r8
xor cl, byte [rdx - 1]
add r8, 2
and cl, 0xf
sar rax, 1
xor cl, byte [rdx - 1]
mov byte [rsp + rax + 0x32], cl
sub r9, rbx
jne 0x14007cb80
mov rcx, qword [rsi + 0x38]
lea r9, [rbp + 0x5a8]
mov r8d, reloc.WSOCK32.dll_recv
mov dword [rbp + 0x5a8], r15d
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14007cbdc
cmp dword [rbp + 0x5a8], 0x10
je 0x14007cbdf
mov ebx, r15d
inc dword [rsi + 0x30c]
lea r11, [rsp + 0x680]
mov rsi, qword [r11 + 0x30]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rbp
ret