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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 8], ecx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1800cc020]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov ebx, ecx
xor r15d, r15d
mov dword [rsp + 0x34], r15d
mov dword [rsp + 0x44], r15d
lea rcx, [rbp - 0x68]
call fcn.180065980
mov rdx, qword [rax]
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], r15b
jne 0x180046797
nop dword [rax + rax]
cmp dword [rcx + 0x20], ebx
jae 0x18004678b
mov rcx, qword [rcx + 0x10]
jmp 0x180046791
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r15b
je 0x180046780
cmp byte [rdx + 0x19], r15b
jne 0x1800467e8
cmp ebx, dword [rdx + 0x20]
jb 0x1800467e8
mov rdx, rax
mov rcx, rax
call fcn.18006b510
lea rdx, [rbp + 0xa0]
call fcn.180065880
mov eax, dword [rax]
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.1800710d0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdx, rax
mov rcx, rax
call fcn.18006b510
call fcn.180045e30
mov rbx, rax
mov qword [rbp - 0x68], rax
mov rcx, rax
call fcn.180045d70
mov rsi, rax
mov qword [rbp - 0x48], rax
xor edi, edi
mov dword [rsp + 0x44], edi
mov rcx, rbx
call fcn.180045cb0
test rax, rax
je 0x1800467bb
xor ebx, ebx
mov qword [rsp + 0x48], rbx
nop dword [rax + rax]
mov rax, qword [rsi + rbx*8]
mov r12, qword [rax]
mov qword [rsp + 0x70], r12
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov rcx, r12
call fcn.180045b80
test rax, rax
je 0x18004700c
xor esi, esi
nop word [rax + rax]
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x40], rsi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180046880
lea rcx, [rbp + 0x28]
call fcn.180036e70
nop
mov byte [rsp + 0x38], 5
mov r8b, 0x2b
mov al, 0x61
mov cl, 0x69
movzx edx, cl
xor r9d, r9d
xor r8b, 5
mov byte [rsp + 0x39], r8b
xor al, 5
mov byte [rsp + 0x3a], al
xor cl, 5
mov byte [rsp + 0x3b], cl
xor dl, 5
mov byte [rsp + 0x3c], dl
mov byte [rsp + 0x3d], r9b
lea rax, [rsp + 0x39]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], r9b
jne 0x1800468d4
lea rsi, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
setae cl
mov byte [rsp + 0x20], cl
mov r13, qword [rbp + 0x28]
cmovae rsi, r13
mov r12, qword [rbp + 0x38]
cmp rdi, r12
ja 0x180046974
mov rax, r12
sub rax, rdi
test rdi, rdi
jne 0x18004690d
xor ebx, ebx
jmp 0x18004697b
lea r14, [rsi + rax]
movsx r15d, r8b
lea r8, [r14 + 1]
sub r8, rsi
mov edx, r15d
mov rcx, rsi
call fcn.1800752e0
mov rbx, rax
test rax, rax
je 0x180046965
nop
mov r8, rdi
lea rdx, [rsp + 0x39]
mov rcx, rbx
call fcn.180075380
test eax, eax
je 0x180046b6c
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call fcn.1800752e0
mov rbx, rax
test rax, rax
jne 0x180046930
movzx ecx, byte [rsp + 0x20]
mov r15d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x40]
mov rbx, 0xffffffffffffffff
cmp r12, rbx
jb 0x1800470da
mov rax, r12
sub rax, rbx
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
lea rax, [rbp + 0x28]
test cl, cl
cmovne rax, r13
lea rcx, [rax + rbx]
sub r12, rdx
mov r8, r12
sub r8, rbx
inc r8
add rdx, rcx
call fcn.180074700
mov qword [rbp + 0x38], r12
movsxd rdx, r14d
mov r12, qword [rsp + 0x70]
mov rcx, r12
call fcn.180045c20
mov r13, rax
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180046a00
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180036e70
cmp qword [rsp + 0x60], 0
sete sil
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x180046a5e
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046a59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047104
call fcn.1800717d8
xor edx, edx
test sil, sil
je 0x180046b83
mov byte [rsp + 0x28], 0x54
mov al, 0x6e
movzx ecx, al
xor al, 0x54
mov byte [rsp + 0x29], al
xor cl, 0x54
mov byte [rsp + 0x2a], cl
mov byte [rsp + 0x2b], dl
lea r8, [rsp + 0x29]
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x20]
call fcn.180067ee0
nop
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdi + r8], 0
jne 0x180046aa0
mov rdx, rdi
mov rcx, rax
call fcn.180036f70
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
or r15d, 0x10
mov dword [rsp + 0x34], r15d
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180046b21
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046b14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470e0
call fcn.1800717d8
movups xmm0, xmmword [rbp + 0x48]
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rbp + 0x28], xmm0
movups xmmword [rbp + 0x38], xmm1
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x180046de1
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046ddc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470d4
jmp 0x180046ddc
sub rbx, rsi
movzx ecx, byte [rsp + 0x20]
mov r15d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x40]
jmp 0x18004697b
mov byte [rsp + 0x24], 0x29
mov al, 0x13
movzx ecx, al
xor al, 0x29
mov byte [rsp + 0x25], al
xor cl, 0x29
mov byte [rsp + 0x26], cl
mov byte [rsp + 0x27], dl
mov byte [rsp + 0x2c], 0x17
mov al, 0x2d
movzx ecx, al
xor al, 0x17
mov byte [rsp + 0x2d], al
xor cl, 0x17
mov byte [rsp + 0x2e], cl
mov byte [rsp + 0x2f], dl
lea r8, [rsp + 0x2d]
lea rdx, [rbp + 0x28]
lea rcx, [rbp]
call fcn.180067ee0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180046bd3
mov rdx, rbx
mov rcx, rax
call fcn.180036f70
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xor esi, esi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
or r15d, 2
lea rax, [rsp + 0x25]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180046c30
lea rdx, [rsp + 0x25]
lea rcx, [rsp + 0x50]
call fcn.180036f70
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdi + r8], 0
jne 0x180046c80
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.180036f70
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x48], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r15d, 0xc
mov dword [rsp + 0x34], r15d
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180046d01
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046cf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470e6
call fcn.1800717d8
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rbp + 0x48]
movups xmmword [rbp + 0x28], xmm0
movups xmmword [rbp + 0x38], xmm1
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x180046d45
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046d40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470ec
call fcn.1800717d8
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x180046d93
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046d8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470f2
call fcn.1800717d8
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x180046de1
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046ddc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470f8
call fcn.1800717d8
mov qword [rbp + 0x20], rsi
lea rdx, [rbp + 0x20]
mov rcx, r13
call fcn.180045af0
mov r14, rax
test rax, rax
je 0x180046fa3
nop dword [rax]
mov rcx, r14
call fcn.180045930
mov rbx, rax
mov byte [rsp + 0x30], 0x55
mov cl, 0x6f
movzx edx, cl
xor eax, eax
xor cl, 0x55
mov byte [rsp + 0x31], cl
xor dl, 0x55
mov byte [rsp + 0x32], dl
mov byte [rsp + 0x33], al
lea r8, [rsp + 0x31]
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x40]
call fcn.180067ee0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180046e43
mov rdx, rbx
mov rcx, rax
call fcn.180036f70
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r15d, 1
mov dword [rsp + 0x34], r15d
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180046eba
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046eb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470fe
call fcn.1800717d8
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
lea rax, [rbp + 0x48]
mov rsi, qword [rbp + 0x60]
cmp rsi, 0x10
setae r10b
mov rdi, qword [rbp + 0x48]
cmovae rax, rdi
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180046ef0
lea r8, [rbp + 0x48]
test r10b, r10b
cmovne r8, rdi
mov eax, 0xffffffff
test ecx, ecx
je 0x180046f42
mov r9d, ecx
lea r12, [0x1800b90c0]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r12 + rcx*4]
lea r8, [r8 + 1]
sub r9, 1
jne 0x180046f20
mov r12, qword [rsp + 0x70]
not eax
cmp eax, dword [rbp + 0xa0]
je 0x180047034
test r10b, r10b
je 0x180046f86
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180046f7e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047104
mov rcx, rdi
call fcn.1800717d8
lea rdx, [rbp + 0x20]
mov rcx, r13
call fcn.180045af0
mov r14, rax
test rax, rax
mov esi, 0
jne 0x180046e00
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180046fde
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046fd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800470ce
call fcn.1800717d8
mov r14d, dword [rsp + 0x40]
inc r14d
mov dword [rsp + 0x40], r14d
mov rcx, r12
call fcn.180045b80
movsxd rcx, r14d
cmp rcx, rax
jb 0x180046860
mov rbx, qword [rsp + 0x48]
mov edi, dword [rsp + 0x44]
mov rsi, qword [rbp - 0x48]
inc edi
mov dword [rsp + 0x44], edi
inc rbx
mov qword [rsp + 0x48], rbx
mov rcx, qword [rbp - 0x68]
call fcn.180045cb0
movsxd rcx, edi
cmp rcx, rax
jae 0x1800467bb
jmp 0x180046830
mov rcx, r14
call fcn.1800459c0
mov ebx, eax
mov ecx, dword [rbp + 0xa0]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], ebx
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x58]
call fcn.180068ad0
nop
cmp rsi, 0x10
jb 0x18004708f
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180047086
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047104
mov rcx, rdi
call fcn.1800717d8
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1800470c6
inc rdx
mov rcx, qword [rbp + 0x28]
mov r8, rcx
cmp rdx, 0x1000
jb 0x1800470c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x1800470ce
call fcn.1800717d8
mov rax, rbx
jmp 0x1800467bb
call fcn.180085d3c
nop
call fcn.180085d3c
int3
call fcn.180067ca0
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
nop
call fcn.180085d3c
int3