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

Disassembly:
mov rax, rsp
mov dword [rax + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x208
mov ebx, ecx
movaps xmmword [rax - 0x58], xmm6
lea rcx, [rbp]
movaps xmmword [rax - 0x68], xmm7
call fcn.1800a31f0
mov edx, ebx
mov rcx, rax
call fcn.1800a3eec
test al, al
je 0x180055e49
lea rdx, [rbp + 0x150]
call fcn.1800a311c
mov rax, qword [rax]
jmp 0x180056587
call fcn.180055d10
mov rcx, rax
mov r15, rax
call fcn.180055c08
xor edi, edi
mov qword [rbp + 0x160], rax
mov rcx, r15
mov dword [rbp + 0x158], edi
mov rbx, rax
call fcn.180055afc
test rax, rax
je 0x180056585
movabs rsi, 0x95616bf6da677d06
movabs r14, 0x63ad2a4f36db02c9
mov rax, qword [rbx]
xor r13d, r13d
mov r12, qword [rax]
mov rcx, r12
call fcn.1800558f8
test rax, rax
je 0x18005655e
xor ebx, ebx
lea edi, [rbx + 0xf]
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
or r8, 0xffffffffffffffff
mov qword [rsp + 0x58], rbx
inc r8
cmp byte [rdx + r8], bl
jne 0x180055ec9
lea rcx, [rsp + 0x40]
call fcn.180052b60
movabs rax, 0x63ad2a4f5ab766e7
lea rdx, [rbp - 0x40]
mov qword [rbp + 0x168], rax
lea rcx, [rsp + 0x40]
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x168], rsi
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x168], r14
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x168], rsi
mov rax, qword [rbp + 0x168]
movdqa xmm0, xmmword [rbp - 0x40]
mov qword [rbp + 0x58], rax
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.1800a3400
mov rbx, qword [rsp + 0x50]
cmp rbx, rax
jb 0x18005661b
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp qword [rsp + 0x58], rdi
lea rcx, [rsp + 0x40]
cmova rcx, qword [rsp + 0x40]
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
movsxd rdx, r13d
mov rcx, r12
mov qword [rsp + 0x50], rbx
call fcn.1800559f8
xor ebx, ebx
xorps xmm0, xmm0
mov r14, rax
mov qword [rbp - 0x10], rbx
movups xmmword [rbp - 0x20], xmm0
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rdi, qword [rax + 0x18]
mov qword [rbp - 8], rbx
inc r8
cmp byte [rdi + r8], bl
jne 0x180055fc1
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.180052b60
cmp qword [rbp - 0x10], rbx
mov rdx, qword [rbp - 8]
sete bl
cmp rdx, 0xf
jbe 0x180056018
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180056013
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180056601
call fcn.1800c8a0c
and qword [rbp - 0x10], 0
movabs rcx, 0x95616bf6da677d06
mov qword [rbp - 8], recv
movabs rdx, 0x63ad2a4f36db02c9
mov byte [rbp - 0x20], 0
test bl, bl
je 0x1800561c4
movabs rax, 0x63ad2a4f36db38f3
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x168], rcx
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x68], rax
mov qword [rbp + 0x168], rdx
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x168], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0x168]
xor ebx, ebx
movdqa xmm0, xmmword [rsp + 0x60]
mov qword [rbp + 0x68], rax
lea rax, [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
inc rcx
cmp byte [rax + rcx], bl
jne 0x1800560b4
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x180056621
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
mov edi, recv
mov qword [rsp + 0x20], r8
cmp qword [rsp + 0x58], rdi
lea rcx, [rbp + 0x10]
cmova r9, qword [rsp + 0x40]
call fcn.1800a5e14
mov rdx, rsi
lea rcx, [rbp + 0x10]
call fcn.1800a34bc
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp + 0xa0], xmm6
movups xmmword [rbp + 0xb0], xmm7
cmp rdx, rdi
jbe 0x180056170
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005616b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800565a9
call fcn.1800c8a0c
mov rdx, qword [rbp + 0x28]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, rdi
jbe 0x1800561b4
mov rcx, qword [rbp + 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800561af
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800565a9
call fcn.1800c8a0c
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rdi
mov byte [rbp + 0x10], bl
jmp 0x180056486
movabs r8, 0x63ad2a4f36db38f3
mov qword [rbp + 0x168], r8
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x168], rcx
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x168], rdx
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x78], rax
movdqa xmm0, xmmword [rbp + 0x70]
xorps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp + 0x168], r8
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x168], rcx
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x168], rdx
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x168], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0x168]
xor ebx, ebx
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rbp + 0x88], rax
lea rax, [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rsp + 0x70], xmm0
inc rcx
cmp byte [rax + rcx], bl
jne 0x180056292
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x180056615
cmp qword [rsp + 0x58], 0xf
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x40]
cmova r9, qword [rsp + 0x40]
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.1800a5e14
mov rdx, rdi
lea rcx, [rbp + 0x30]
call fcn.1800a34bc
mov qword [rbp - 0x50], rbx
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x48], rbx
lea rcx, [rbp - 0x60]
xorps xmm0, xmm0
mov edi, recv
movups xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
call fcn.1800a34bc
mov qword [rbp - 0x70], rbx
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
call fcn.1800a34bc
mov esi, 0x1000
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp + 0xc0], xmm6
movups xmmword [rbp + 0xd0], xmm7
cmp rdx, rdi
jbe 0x1800563b9
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800563b4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800565b0
call fcn.1800c8a0c
mov rdx, qword [rbp - 0x68]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, rdi
jbe 0x1800563f9
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800563f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800565b0
call fcn.1800c8a0c
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rdi
mov byte [rbp - 0x80], bl
cmp rdx, rdi
jbe 0x18005643a
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180056435
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800565b0
call fcn.1800c8a0c
mov rdx, qword [rbp + 0x48]
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x60], bl
cmp rdx, rdi
jbe 0x18005647b
mov rcx, qword [rbp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180056476
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800565b0
call fcn.1800c8a0c
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rdi
mov byte [rbp + 0x30], bl
mov r10, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
mov r8, qword [rsp + 0x40]
cmp r10, rdi
cmova rcx, r8
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], bl
jne 0x1800564a0
cmp r10, rdi
lea r9, [rsp + 0x40]
cmova r9, r8
or edx, 0xffffffff
test eax, eax
je 0x1800564e0
mov r11d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r9
lea rcx, [0x18003eb10]
xor edx, dword [rcx + rax*4]
sub r11, 1
jne 0x1800564be
mov eax, dword [rbp + 0x150]
not edx
cmp eax, edx
je 0x1800565b7
cmp r10, rdi
jbe 0x180056526
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x18005651e
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180056601
mov rcx, r8
call fcn.1800c8a0c
mov rcx, r12
inc r13d
call fcn.1800558f8
movsxd rcx, r13d
movabs rsi, 0x95616bf6da677d06
movabs r14, 0x63ad2a4f36db02c9
cmp rcx, rax
jb 0x180055eaf
mov rbx, qword [rbp + 0x160]
mov edi, dword [rbp + 0x158]
inc edi
add rbx, 8
mov rcx, r15
mov dword [rbp + 0x158], edi
mov qword [rbp + 0x160], rbx
call fcn.180055afc
movsxd rcx, edi
cmp rcx, rax
jb 0x180055e90
xor eax, eax
lea r11, [rsp + 0x208]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
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
lea r8, [rbp]
mov dword [rbp], eax
lea rdx, [rbp + 0x90]
mov qword [rbp + 8], r14
call fcn.1800a4030
mov rdx, qword [rsp + 0x58]
cmp rdx, rdi
jbe 0x18005660d
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180056608
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180056608
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8a0c
mov rax, r14
jmp 0x180056587
call fcn.180052794
int3
call fcn.180052b14
int3
call fcn.180052794
int3