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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov r12d, edx
mov rbx, rcx
test rcx, rcx
je 0x18000f839
mov rax, qword gs:[0x58]
mov r8d, dword [0x1800a9584]
mov ecx, 4
mov r15, qword [rax + r8*8]
mov eax, dword [r15 + rcx]
cmp dword [0x1800aa2c0], eax
jg 0x18000f85c
jmp 0x18000f523
mov ecx, 4
mov rax, qword [0x1800aa178]
cmp qword [rax + rbx], 0
je 0x18000f839
mov eax, dword [r15 + rcx]
cmp dword [0x1800aa6b8], eax
jg 0x18000f897
mov rax, qword [0x1800aa578]
cmp qword [rax + rbx], 0
je 0x18000f839
mov rcx, rbx
call fcn.18000f440
mov rcx, rbx
mov rdi, qword [rax]
call fcn.18000f3c0
mov r14, rdi
xor r11d, r11d
mov rsi, qword [rax]
sub r14, rsi
lea r10, [rsi + 0x20]
test rdi, rdi
je 0x18000f839
lea r13, [0x180083280]
cmp r11d, dword [rdi + 0x18]
jae 0x18000f839
mov r8, qword [r14 + r10]
test rsi, rsi
jne 0x18000f5a1
xor ebx, ebx
jmp 0x18000f5a4
mov rbx, qword [r10]
test r8, r8
je 0x18000f605
test rbx, rbx
je 0x18000f605
add r8, 0x14
mov edx, 0xffffffff
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [r8 + rax*2], 0
jne 0x18000f5c0
test eax, eax
je 0x18000f5fe
mov r9d, eax
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [r13 + rax*4]
sub r9, 1
jne 0x18000f5e0
not edx
cmp edx, r12d
je 0x18000f611
inc r11d
add r10, 8
jmp 0x18000f58a
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x60], xmm10
call fcn.18000eac0
mov rcx, rax
call fcn.18000c780
mov r14d, 4
mov rdi, rax
test rax, rax
jne 0x18000f65d
xorps xmm7, xmm7
mov qword [rbp - 0x49], rax
mov dword [rbp - 0x41], eax
jmp 0x18000f697
mov eax, dword [r15 + r14]
cmp dword [0x1800aa2d0], eax
jg 0x18000f8d2
mov rdx, qword [0x1800aa208]
lea r8, [rbp - 0x39]
xorps xmm7, xmm7
lea rcx, [rbp - 0x49]
xorps xmm0, xmm0
movss dword [rbp - 0x31], xmm7
unpcklps xmm0, xmm7
mov r9, rdi
movsd qword [rbp - 0x39], xmm0
call fcn.180043480
call fcn.18000eac0
mov rcx, rax
call fcn.18000c780
mov rdi, rax
test rax, rax
jne 0x18000f6b5
mov qword [rbp - 0x59], rax
mov dword [rbp - 0x51], eax
jmp 0x18000f6ec
mov eax, dword [r15 + r14]
cmp dword [0x1800aa6a8], eax
jg 0x18000f910
mov rdx, qword [0x1800aa590]
lea r8, [rbp - 0x39]
xorps xmm0, xmm0
movss dword [rbp - 0x31], xmm7
unpcklps xmm0, xmm7
lea rcx, [rbp - 0x59]
mov r9, rdi
movsd qword [rbp - 0x39], xmm0
call fcn.180043480
call fcn.18000eac0
mov rcx, rax
call fcn.18000dcb0
mov rcx, qword [rax]
call fcn.18000d830
lea rcx, [rbp - 0x29]
movss xmm6, dword [rax + 4]
call fcn.18000d8b0
movss xmm0, dword [rbp - 0x51]
mov ecx, 0x18
movss xmm1, dword [rbp - 0x55]
movss xmm10, dword [rbp - 0x41]
addss xmm6, dword [rax + 4]
movss xmm9, dword [rbp - 0x45]
movss xmm8, dword [rbp - 0x59]
mulss xmm0, xmm6
mulss xmm1, xmm6
mulss xmm8, xmm6
addss xmm10, xmm0
addss xmm9, xmm1
addss xmm8, dword [rbp - 0x49]
call fcn.18007ea78
mov ecx, dword [r15 + r14]
mov rdi, rax
cmp dword [0x1800aa2d0], ecx
movaps xmm6, xmmword [rsp + 0xa0]
jg 0x18000f94e
mov rdx, qword [0x1800aa208]
lea r8, [rbp - 0x39]
xorps xmm0, xmm0
movss dword [rbp - 0x31], xmm7
unpcklps xmm0, xmm7
lea rcx, [rbp - 0x49]
mov r9, rbx
movsd qword [rbp - 0x39], xmm0
call fcn.180043480
movsd xmm0, qword [rbp - 0x49]
lea rdx, [rbp - 0x39]
mov eax, dword [rbp - 0x41]
lea rcx, [rbp - 0x59]
unpcklps xmm8, xmm9
movsd qword [rbp - 0x59], xmm0
movss dword [rbp - 0x31], xmm10
movsd qword [rbp - 0x39], xmm8
mov dword [rbp - 0x51], eax
call fcn.18000f200
mov edx, dword [r15 + r14]
movzx esi, al
cmp dword [0x1800aa2d0], edx
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
jg 0x18000f98c
mov rdx, qword [0x1800aa208]
lea r8, [rbp - 0x39]
xorps xmm0, xmm0
movss dword [rbp - 0x31], xmm7
unpcklps xmm0, xmm7
lea rcx, [rbp - 0x29]
mov r9, rbx
movsd qword [rbp - 0x39], xmm0
call fcn.180043480
mov eax, dword [rbp - 0x21]
movsd xmm0, qword [rbp - 0x29]
movaps xmm7, xmmword [rsp + 0x90]
movsd qword [rdi], xmm0
mov dword [rdi + 8], eax
mov rax, rdi
mov byte [rdi + 0xc], sil
mov qword [rdi + 0x10], rbx
jmp 0x18000f83b
xor eax, eax
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1800aa2c0]
call fcn.18007ea00
cmp dword [0x1800aa2c0], 0xffffffff
jne 0x18000f51e
mov ecx, 0xb78ad364
call fcn.180007230
lea rcx, [0x1800aa2c0]
mov qword [0x1800aa178], rax
call fcn.18007e994
jmp 0x18000f51e
lea rcx, [0x1800aa6b8]
call fcn.18007ea00
cmp dword [0x1800aa6b8], 0xffffffff
jne 0x18000f545
mov ecx, 0x12235404
call fcn.180007230
lea rcx, [0x1800aa6b8]
mov qword [0x1800aa578], rax
call fcn.18007e994
jmp 0x18000f545
lea rcx, [0x1800aa2d0]
call fcn.18007ea00
cmp dword [0x1800aa2d0], 0xffffffff
jne 0x18000f66d
mov ecx, 0x56e64b7d
call fcn.180005120
mov rcx, qword [rax]
mov qword [0x1800aa208], rcx
lea rcx, [0x1800aa2d0]
call fcn.18007e994
jmp 0x18000f66d
lea rcx, [0x1800aa6a8]
call fcn.18007ea00
cmp dword [0x1800aa6a8], 0xffffffff
jne 0x18000f6c5
mov ecx, 0x33ac3a8f
call fcn.180005120
lea rcx, [0x1800aa6a8]
mov rdx, qword [rax]
mov qword [0x1800aa590], rdx
call fcn.18007e994
jmp 0x18000f6c5
lea rcx, [0x1800aa2d0]
call fcn.18007ea00
cmp dword [0x1800aa2d0], 0xffffffff
jne 0x18000f772
mov ecx, 0x56e64b7d
call fcn.180005120
mov rcx, qword [rax]
mov qword [0x1800aa208], rcx
lea rcx, [0x1800aa2d0]
call fcn.18007e994
jmp 0x18000f772
lea rcx, [0x1800aa2d0]
call fcn.18007ea00
cmp dword [0x1800aa2d0], 0xffffffff
jne 0x18000f7ee
mov ecx, 0x56e64b7d
call fcn.180005120
lea rcx, [0x1800aa2d0]
mov rdx, qword [rax]
mov qword [0x1800aa208], rdx
call fcn.18007e994
jmp 0x18000f7ee