Function at 0x18007d2ac
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 - 0x1b8]
sub rsp, 0x278
mov ebx, ecx
movaps xmmword [rax - 0x58], xmm6
lea rcx, [rbp + 0x20]
movaps xmmword [rax - 0x68], xmm7
call fcn.1800c99d8
mov edx, ebx
mov rcx, rax
call fcn.1800ca43c
xor esi, esi
test al, al
je 0x18007d302
lea rdx, [rbp + 0x1c0]
call fcn.1800c9904
mov eax, dword [rax]
jmp 0x18007dc16
call fcn.18007b388
mov rcx, rax
mov r14, rax
call fcn.18007b280
mov rcx, r14
mov qword [rbp + 0x1d8], rax
mov rbx, rax
mov dword [rbp + 0x1c8], esi
mov edi, esi
call fcn.18007b174
test rax, rax
je 0x18007dc14
movabs r13, 0xb5c9e466b7556bc6
mov rax, qword [rbx]
mov r12d, esi
mov r15, qword [rax]
mov rcx, r15
call fcn.18007af70
test rax, rax
je 0x18007dbed
mov rdx, qword [r15]
xorps xmm0, xmm0
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x58], rsi
movups xmmword [rsp + 0x48], xmm0
mov r8, rbx
mov qword [rsp + 0x60], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x18007d375
lea rcx, [rsp + 0x48]
call fcn.1800760c0
movabs rax, 0x81c957e74cd0b323
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
movabs rax, 0x81c957e720bcd70d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x90], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rbp + 0x98], rax
mov rax, rbx
xorps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rsp + 0x70], xmm0
inc rax
cmp byte [rcx + rax], sil
jne 0x18007d3f7
cmp qword [rsp + 0x60], 0x10
lea rcx, [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
lea r9, [rsp + 0x70]
cmovae rcx, qword [rsp + 0x48]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800cb76c
cmp rbx, rax
jb 0x18007dcf4
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp qword [rsp + 0x60], 0x10
lea rcx, [rsp + 0x48]
cmovae rcx, qword [rsp + 0x48]
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
movsxd rdx, r12d
mov rcx, r15
mov qword [rsp + 0x58], rbx
call fcn.18007b070
xor ebx, ebx
xorps xmm0, xmm0
mov r13, rax
mov qword [rbp + 0x10], rbx
movups xmmword [rbp], xmm0
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rdi, qword [rax + 0x18]
mov qword [rbp + 0x18], rbx
inc r8
cmp byte [rdi + r8], bl
jne 0x18007d49b
mov rdx, rdi
lea rcx, [rbp]
call fcn.1800760c0
cmp qword [rbp + 0x10], rbx
mov rdx, qword [rbp + 0x18]
sete bl
cmp rdx, 0x10
jb 0x18007d4f2
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007d4ed
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dce7
call fcn.1801074d4
xor edx, edx
mov qword [rbp + 0x18], 0xf
mov qword [rbp + 0x10], rdx
movabs rcx, 0xb5c9e466b7556bc6
mov byte [rbp], dl
test bl, bl
je 0x18007d694
movabs rax, 0x81c957e720bced37
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
movabs rax, 0x81c957e720bcd70d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x40], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xa8], rax
lea rax, [rbp - 0x80]
movdqa xmm0, xmmword [rbp + 0xa0]
xorps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
inc rcx
cmp byte [rax + rcx], dl
jne 0x18007d580
mov r8, qword [rsp + 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x18007dcfa
cmp qword [rsp + 0x60], 0x10
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmovae r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.1800782b0
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.1800c9be0
xor esi, esi
movups xmm6, xmmword [rax]
lea edi, [rsi + 0xf]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov byte [rax], sil
mov rdx, qword [rsp + 0x60]
movups xmmword [rbp + 0x110], xmm6
movups xmmword [rbp + 0x120], xmm7
cmp rdx, 0x10
jb 0x18007d63e
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007d639
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc38
call fcn.1801074d4
mov rdx, qword [rbp + 0x48]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, 0x10
jb 0x18007d683
mov rcx, qword [rbp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007d67e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc38
call fcn.1801074d4
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rdi
mov byte [rbp + 0x30], sil
jmp 0x18007d94d
movabs r8, 0x81c957e720bced37
movabs rdx, 0x81c957e720bcd70d
mov qword [rsp + 0x40], r8
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 8], rax
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rcx
mov qword [rbp + 0xb0], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x10]
mov qword [rbp + 0xb8], rax
xorps xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rsp + 0x40], r8
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x68], rax
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xc0], rax
mov qword [rsp + 0x40], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
xor ebx, ebx
movdqa xmm0, xmmword [rbp - 0x70]
mov qword [rbp + 0xc8], rax
lea rax, [rbp - 0x70]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp - 0x70], xmm0
inc rcx
cmp byte [rax + rcx], bl
jne 0x18007d750
mov r8, qword [rsp + 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x18007dcee
cmp qword [rsp + 0x60], 0x10
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmovae r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.1800782b0
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.1800c9be0
mov qword [rbp - 0x20], rbx
lea rdx, [rbp - 0x10]
mov qword [rbp - 0x18], rbx
lea rcx, [rbp - 0x30]
xorps xmm0, xmm0
mov edi, 0xf
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
call fcn.1800c9be0
mov qword [rbp - 0x40], rbx
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x38], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
call fcn.1800c9be0
xor esi, esi
mov ebx, 0x1000
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov byte [rax], sil
mov rdx, qword [rsp + 0x60]
movups xmmword [rbp + 0x130], xmm6
movups xmmword [rbp + 0x140], xmm7
cmp rdx, 0x10
jb 0x18007d87a
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18007d875
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc3f
call fcn.1801074d4
mov rdx, qword [rbp - 0x38]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, 0x10
jb 0x18007d8bb
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18007d8b6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc3f
call fcn.1801074d4
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rdi
mov byte [rbp - 0x50], sil
cmp rdx, 0x10
jb 0x18007d8fe
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18007d8f9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc3f
call fcn.1801074d4
mov rdx, qword [rbp + 0x68]
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rdi
mov byte [rbp - 0x30], sil
cmp rdx, 0x10
jb 0x18007d941
mov rcx, qword [rbp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18007d93c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc3f
call fcn.1801074d4
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], rdi
mov byte [rbp + 0x50], sil
lea rdx, [rbp + 0x1d0]
mov qword [rbp + 0x1d0], rsi
mov rcx, r13
call fcn.18007ae6c
jmp 0x18007db76
mov rcx, rbx
call fcn.18007ab80
mov rdi, rax
movabs rax, 0x81c957e720bced37
mov qword [rsp + 0x40], rax
movabs rax, 0xb5c9e466b7556bc6
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x60], rcx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x58], rcx
movabs rcx, 0x81c957e720bcd70d
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp - 0x60]
mov qword [rbp + 0xd8], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0xd0], rcx
or rcx, 0xffffffffffffffff
xorps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp - 0x60], xmm0
inc rcx
cmp byte [rax + rcx], sil
jne 0x18007d9e8
mov rdx, qword [rsp + 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x18007dd00
cmp qword [rsp + 0x60], 0x10
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmovae r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.1800782b0
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.1800c9be0
mov edi, 0xf
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov byte [rax], sil
mov rdx, qword [rbp + 0x88]
movups xmmword [rbp + 0xe0], xmm7
movups xmmword [rbp + 0xf0], xmm6
cmp rdx, 0x10
jb 0x18007daa8
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007daa3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dc46
call fcn.1801074d4
psrldq xmm6, 8
lea rcx, [rbp + 0xe0]
mov qword [rbp + 0x80], rsi
mov byte [rbp + 0x70], sil
movq rsi, xmm6
cmp rsi, 0x10
mov qword [rbp + 0x88], rdi
movq rdi, xmm7
cmovae rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x18007dadc
cmp rsi, 0x10
lea r8, [rbp + 0xe0]
cmovae r8, rdi
or edx, 0xffffffff
test eax, eax
je 0x18007db20
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180063010]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x18007dafe
not edx
cmp edx, dword [rbp + 0x1c0]
je 0x18007dc4d
cmp rsi, 0x10
jb 0x18007db65
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007db5d
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dce7
mov rcx, rdi
call fcn.1801074d4
lea rdx, [rbp + 0x1d0]
mov rcx, r13
call fcn.18007ae6c
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x18007d968
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18007dbbf
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007dbba
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dce7
call fcn.1801074d4
mov rcx, r15
inc r12d
call fcn.18007af70
movsxd rcx, r12d
movabs r13, 0xb5c9e466b7556bc6
cmp rcx, rax
jb 0x18007d359
mov rbx, qword [rbp + 0x1d8]
mov edi, dword [rbp + 0x1c8]
inc edi
add rbx, 8
mov rcx, r14
mov dword [rbp + 0x1c8], edi
mov qword [rbp + 0x1d8], rbx
call fcn.18007b174
movsxd rcx, edi
cmp rcx, rax
jb 0x18007d33f
xor eax, eax
lea r11, [rsp + 0x278]
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.18007ac74
mov ecx, dword [rbp + 0x1c0]
lea r8, [rbp + 0x20]
mov ebx, eax
lea rdx, [rbp + 0x100]
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], ecx
call fcn.1800ca674
cmp rsi, 0x10
jb 0x18007dca6
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007dc9e
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007dce7
mov rcx, rdi
call fcn.1801074d4
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18007dcdf
mov rcx, qword [rsp + 0x48]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x18007dcda
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x18007dce7
call fcn.1801074d4
mov rax, rbx
jmp 0x18007dc16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180075cf4
int3
call fcn.180076074
int3
call fcn.180075cf4
int3
call fcn.180075cf4
int3