Function at 0x18005864c
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
call fcn.180055d10
mov rcx, rax
mov r15, rax
call fcn.180055c08
xor esi, esi
mov rcx, r15
mov r13d, esi
mov r12, rax
call fcn.180055afc
test rax, rax
je 0x180058cc1
mov rax, qword [r12]
mov dword [rbp + 0xe0], esi
mov r14, qword [rax]
mov rcx, r14
call fcn.1800558f8
test rax, rax
je 0x180058ca6
mov rbx, rsi
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
or r8, 0xffffffffffffffff
mov qword [rsp + 0x58], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x1800586d7
lea rcx, [rsp + 0x40]
call fcn.180052b60
mov rdx, rbx
mov rcx, r14
call fcn.1800559f8
xor edi, edi
mov qword [rbp + 0xf0], rax
xorps xmm0, xmm0
mov qword [rsp + 0x70], rdi
movups xmmword [rsp + 0x60], xmm0
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rbx, qword [rax + 0x18]
mov qword [rsp + 0x78], rdi
inc r8
cmp byte [rbx + r8], dil
jne 0x18005871c
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180052b60
cmp qword [rsp + 0x70], rdi
mov rdx, qword [rsp + 0x78]
sete dil
cmp rdx, 0xf
jbe 0x180058778
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058773
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058cf4
call fcn.1800c8a0c
xor edx, edx
mov qword [rsp + 0x78], recv
mov qword [rsp + 0x70], rdx
movabs rcx, 0x95616bf6da677d06
mov byte [rsp + 0x60], dl
test dil, dil
je 0x180058912
movabs rax, 0x63ad2a4f36db38f3
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x78], rax
movabs rax, 0x63ad2a4f36db02c9
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0xe8], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0xe8]
movdqa xmm0, xmmword [rbp - 0x80]
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp - 0x80], xmm0
inc rcx
cmp byte [rax + rcx], dl
jne 0x180058811
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x180058cfb
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
mov ebx, recv
mov qword [rsp + 0x20], r8
cmp qword [rsp + 0x58], rbx
lea rcx, [rsp + 0x60]
cmova r9, qword [rsp + 0x40]
call fcn.1800a5e14
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1800a34bc
mov rdx, qword [rsp + 0x58]
xor esi, esi
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rbx
mov byte [rax], sil
cmp rdx, rbx
jbe 0x1800588c3
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800588be
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058ce6
call fcn.1800c8a0c
mov rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm7
movups xmmword [rsp + 0x50], xmm6
cmp rdx, rbx
jbe 0x180058bd2
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058908
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058ce6
call fcn.1800c8a0c
jmp 0x180058bd2
movabs rdx, 0x63ad2a4f36db38f3
movabs r8, 0x63ad2a4f36db02c9
mov qword [rbp + 0xe8], rdx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0xe8], r8
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0xe8]
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp + 0x28], rax
xorps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp + 0xe8], rdx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x68], rax
mov qword [rbp + 0xe8], r8
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0xe8], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0xe8]
xor edi, edi
mov qword [rbp + 0x38], rax
lea rax, [rbp - 0x70]
movdqa xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
inc rcx
cmp byte [rax + rcx], dil
jne 0x1800589dc
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x180058d01
cmp qword [rsp + 0x58], 0xf
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x40]
cmova r9, qword [rsp + 0x40]
lea rcx, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.1800a5e14
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.1800a34bc
mov qword [rbp - 0x30], rdi
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x28], rdi
lea rcx, [rbp - 0x40]
xorps xmm0, xmm0
mov ebx, recv
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.1800a34bc
mov qword [rbp - 0x50], rdi
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x48], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.1800a34bc
mov rdx, qword [rsp + 0x58]
xor esi, esi
mov edi, 0x1000
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rbx
mov byte [rax], sil
movups xmmword [rbp + 0x60], xmm7
movups xmmword [rbp + 0x70], xmm6
cmp rdx, rbx
jbe 0x180058b02
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180058afd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058ced
call fcn.1800c8a0c
mov rdx, qword [rbp - 0x48]
movups xmmword [rsp + 0x40], xmm7
movups xmmword [rsp + 0x50], xmm6
cmp rdx, rbx
jbe 0x180058b42
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180058b3d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058ced
call fcn.1800c8a0c
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rbx
mov byte [rbp - 0x60], sil
cmp rdx, rbx
jbe 0x180058b84
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180058b7f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058ced
call fcn.1800c8a0c
mov rdx, qword [rbp + 8]
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rbx
mov byte [rbp - 0x40], sil
cmp rdx, rbx
jbe 0x180058bc6
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180058bc1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058ced
call fcn.1800c8a0c
mov qword [rbp], rsi
mov qword [rbp + 8], rbx
mov byte [rbp - 0x10], sil
psrldq xmm6, 8
lea rcx, [rsp + 0x40]
movq rdi, xmm6
movq rbx, xmm7
cmp rdi, 0xf
cmova rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x180058bf2
cmp rdi, 0xf
lea r8, [rsp + 0x40]
cmova r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x180058c34
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x18003eb10]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x180058c12
mov rax, qword [rbp + 0xf0]
lea r8, [rbp + 0x40]
not edx
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], edx
lea rdx, [rbp + 0x50]
call fcn.1800a4030
cmp rdi, 0xf
jbe 0x180058c84
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180058c7c
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058cf4
mov rcx, rbx
call fcn.1800c8a0c
mov edi, dword [rbp + 0xe0]
mov rcx, r14
inc edi
mov dword [rbp + 0xe0], edi
movsxd rbx, edi
call fcn.1800558f8
cmp rbx, rax
jb 0x1800586be
mov rcx, r15
inc r13d
add r12, 8
call fcn.180055afc
movsxd rcx, r13d
cmp rcx, rax
jb 0x18005869d
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180052794
int3
call fcn.180052794
int3