Function at 0x140057300
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push r12
push r13
sub rsp, 0x78
mov rax, qword [0x1400b34a8]
xor rax, rsp
mov qword [rsp + 0x48], rax
test byte [rcx + 0xa4], 0x10
mov rbp, rdx
mov rdx, qword [rsp + 0xc8]
mov r13, r9
mov r12, r8
mov rbx, rcx
jne 0x1400577ce
cmp qword [rcx + 0x90], 0
je 0x14005735c
mov rcx, qword [rcx + 0x98]
add rcx, r8
cmp rcx, qword [rbx + 0x80]
ja 0x1400577ce
cmp qword [rsp + 0xc0], r8
jb 0x1400577ce
mov qword [rsp + 0x60], r14
xor r14d, r14d
mov qword [rdx], r8
test r8, r8
je 0x1400577b0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x58], r15
nop dword [rax]
mov rcx, qword [rbx + 0x98]
mov eax, reloc.WS2_32.dll_recv
mov rsi, rcx
mov rdi, r12
and esi, 0xf
sub rax, rsi
cmp rax, r12
cmovbe rdi, rax
lea rax, [rcx + rdi]
mov qword [rbx + 0x98], rax
movzx eax, byte [rbx + 0xa1]
dec al
test al, 0xfd
je 0x1400573d0
lea r15, [rsi + rdi]
jmp 0x14005756c
xor r8b, r8b
test rdi, rdi
je 0x1400574e3
cmp rdi, 8
jb 0x1400574e3
lea eax, [rdi - 1]
movzx edx, sil
movzx ecx, al
lea eax, [rcx + rdx]
add rdx, rbx
movzx r9d, al
add rcx, rbp
add r9, rbx
cmp rdx, rcx
ja 0x14005740e
cmp r9, rbp
jae 0x1400574e3
cmp rdi, 0x40
jb 0x1400574b1
mov rdx, rdi
mov r10, rdi
and edx, 0x3f
sub r10, rdx
xor ecx, ecx
mov r9b, 0x20
nop dword [rax]
movdqu xmm1, xmmword [rcx + rbp]
lea rax, [rcx + rbx]
add r8b, 0x40
movdqu xmm0, xmmword [rax + rsi]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 - 0x10]
movzx ecx, al
movdqu xmm1, xmmword [rcx + rbp]
lea rax, [rcx + rbx]
movzx ecx, r9b
movdqu xmm0, xmmword [rax + rsi]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea rax, [rcx + rbx]
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rcx + rbp]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 + 0x10]
add r9b, 0x40
movzx ecx, al
movdqu xmm1, xmmword [rcx + rbp]
lea rax, [rcx + rbx]
movzx ecx, r8b
movdqu xmm0, xmmword [rax + rsi]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp rcx, r10
jb 0x140057430
cmp rdx, 8
jb 0x1400574e3
mov rdx, rdi
and rdx, 0xfffffffffffffff8
movzx ecx, r8b
nop dword [rax]
movq xmm1, qword [rcx + rbp]
lea rax, [rcx + rbx]
movq xmm0, qword [rax + rsi]
add r8b, 8
movzx ecx, r8b
xorps xmm1, xmm0
movq qword [rax + rsi], xmm1
cmp rcx, rdx
jb 0x1400574c0
movzx edx, r8b
cmp rdx, rdi
jae 0x140057507
nop dword [rax]
movzx eax, byte [rdx + rbp]
lea rcx, [rdx + rbx]
xor byte [rcx + rsi], al
inc r8b
movzx edx, r8b
cmp rdx, rdi
jb 0x1400574f0
lea r15, [rdi + rsi]
cmp r15, 0x10
je 0x140057521
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x98], rax
jne 0x14005754b
lea rax, [rsp + 0x30]
mov r9, rbx
lea rcx, [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rbx
call fcn.140028680
mov r14d, eax
test eax, eax
jne 0x14005779a
mov r9, rbp
mov qword [rsp + 0x20], r13
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140056c90
mov r14d, eax
test eax, eax
jne 0x1400577a1
test byte [rbx + 0xa1], 0xfd
jne 0x140057748
lea rax, [rsp + 0x38]
mov r9, rbp
mov r8, rdi
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rbx
call fcn.140056c90
mov r14d, eax
test eax, eax
jne 0x1400577a1
xor r8b, r8b
test rdi, rdi
je 0x1400576c4
cmp rdi, 8
jb 0x1400576c4
lea eax, [rdi - 1]
movzx edx, sil
movzx ecx, al
lea eax, [rcx + rdx]
add rdx, rbx
movzx r9d, al
lea rax, [rsp + 0x38]
add rax, rcx
add r9, rbx
cmp rdx, rax
ja 0x1400575e7
lea rax, [rsp + 0x38]
cmp r9, rax
jae 0x1400576c4
cmp rdi, 0x40
jb 0x140057687
mov rdx, rdi
mov r9, rdi
and edx, 0x3f
sub r9, rdx
xor ecx, ecx
mov r10b, 0x20
movdqu xmm1, xmmword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
add r8b, 0x40
movdqu xmm0, xmmword [rax + rsi]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r10 - 0x10]
movzx ecx, al
movdqu xmm1, xmmword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
movzx ecx, r10b
movdqu xmm0, xmmword [rax + rsi]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea rax, [rcx + rbx]
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rsp + rcx + 0x38]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r10 + 0x10]
add r10b, 0x40
movzx ecx, al
movdqu xmm1, xmmword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
movzx ecx, r8b
movdqu xmm0, xmmword [rax + rsi]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp rcx, r9
jb 0x140057602
cmp rdx, 8
jb 0x1400576c4
mov rdx, rdi
and rdx, 0xfffffffffffffff8
movzx ecx, r8b
nop dword [rax]
nop word [rax + rax]
movq xmm1, qword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
movq xmm0, qword [rax + rsi]
add r8b, 8
movzx ecx, r8b
xorps xmm1, xmm0
movq qword [rax + rsi], xmm1
cmp rcx, rdx
jb 0x1400576a0
movzx edx, r8b
cmp rdx, rdi
jae 0x1400576e8
nop dword [rax]
movzx eax, byte [rsp + rdx + 0x38]
lea rcx, [rdx + rbx]
xor byte [rcx + rsi], al
inc r8b
movzx edx, r8b
cmp rdx, rdi
jb 0x1400576d0
mov r8, rdi
lea rdx, [rsp + 0x38]
mov rcx, r13
call fcn.14006bf10
mov rax, qword [fcn.14006c5b0]
lea rcx, [rsp + 0x38]
xor edx, edx
lea r8d, [rdx + 0x10]
call rax
cmp r15, 0x10
je 0x140057722
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x98], rax
jne 0x14005774e
lea rax, [rsp + 0x30]
mov r9, rbx
lea rcx, [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rbx
call fcn.140028680
mov r14d, eax
test eax, eax
jne 0x14005779a
cmp r15, 0x10
je 0x14005775e
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x98], rax
jne 0x140057789
xor dl, dl
cmp byte [rbx + 0xa0], dl
jbe 0x140057789
nop dword [rax + rax]
movzx eax, dl
mov rcx, rbx
sub rcx, rax
add byte [rcx + 0x1f], 1
jne 0x140057789
inc dl
cmp dl, byte [rbx + 0xa0]
jb 0x140057770
add rbp, rdi
add r13, rdi
sub r12, rdi
jne 0x140057390
jmp 0x1400577a1
or dword [rbx + 0xa4], 0x10
mov r15, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov rax, qword [fcn.14006c5b0]
lea rcx, [rsp + 0x38]
xor edx, edx
lea r8d, [rdx + 0x10]
call rax
mov eax, r14d
mov r14, qword [rsp + 0x60]
jmp 0x1400577d3
mov eax, 0xfffffff3
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140068c30
add rsp, 0x78
pop r13
pop r12
pop rbp
pop rbx
ret