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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov ecx, dword [0x1800ccce0]
mov rax, qword gs:[0x58]
mov r13d, 4
mov rdi, qword [rax + rcx*8]
mov eax, dword [rdi + r13]
cmp dword [0x1800cea68], eax
jle 0x1800617da
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x1800617da
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rcx, qword [rcx]
call fcn.180067380
test rax, rax
je 0x180062334
mov r11, qword [rax]
test r11, r11
je 0x180062334
mov r10, qword [r11 + 0x10]
mov edx, 0xffffffff
mov r8d, edx
mov r9, 0xffffffffffffffff
mov rax, r9
nop dword [rax + rax]
inc rax
cmp byte [r10 + rax], 0
jne 0x180061820
lea rsi, [0x1800b4d40]
test eax, eax
je 0x180061874
mov ebx, eax
nop word [rax + rax]
movsx ecx, byte [r10]
mov eax, r8d
xor rcx, rax
movzx eax, cl
shr r8d, 8
xor r8d, dword [rsi + rax*4]
lea r10, [r10 + 1]
sub rbx, 1
jne 0x180061840
not r8d
cmp r8d, 0x479168ed
je 0x18006192a
mov r10, r11
jmp 0x180061880
mov r10, r11
test r11, r11
je 0x180062334
mov r10, qword [r10 + 0x10]
mov r8d, edx
mov rax, r9
nop word [rax + rax]
inc rax
cmp byte [r10 + rax], 0
jne 0x180061890
test eax, eax
je 0x1800618cd
mov ebx, eax
movsx ecx, byte [r10]
mov eax, r8d
xor rcx, rax
movzx eax, cl
shr r8d, 8
xor r8d, dword [rsi + rax*4]
lea r10, [r10 + 1]
sub rbx, 1
jne 0x1800618a0
not r8d
cmp r8d, 0x99e8fe2a
je 0x18006192a
jmp 0x1800618d6
test r11, r11
je 0x180062334
mov r8, qword [r11 + 0x10]
nop word [rax + rax]
inc r9
cmp byte [r8 + r9], 0
jne 0x1800618e0
test r9d, r9d
je 0x180062334
mov r10d, r9d
nop word [rax + rax]
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
movzx eax, cl
shr edx, 8
xor edx, dword [rsi + rax*4]
lea r8, [r8 + 1]
sub r10, 1
jne 0x180061900
not edx
cmp edx, 0x122a3966
jne 0x180062334
mov eax, dword [rdi + r13]
cmp dword [0x1800ce650], eax
jle 0x180061968
lea rcx, [0x1800ce650]
call fcn.180070588
cmp dword [0x1800ce650], 0xffffffff
jne 0x180061968
mov ecx, 0xbb467e27
call fcn.180048730
mov qword [0x1800ce718], rax
lea rcx, [0x1800ce650]
call fcn.18007051c
call fcn.1800478c0
mov rsi, rax
test rax, rax
je 0x180062334
mov ecx, dword [rdi + r13]
cmp dword [0x1800ce8a0], ecx
jle 0x1800619b7
lea rcx, [0x1800ce8a0]
call fcn.180070588
cmp dword [0x1800ce8a0], 0xffffffff
jne 0x1800619b7
mov ecx, 0xb52f21cc
call fcn.180049150
mov qword [0x1800ce5e8], rax
lea rcx, [0x1800ce8a0]
call fcn.18007051c
mov eax, dword [rdi + r13]
cmp dword [0x1800ce500], eax
jle 0x1800619f5
lea rcx, [0x1800ce500]
call fcn.180070588
cmp dword [0x1800ce500], 0xffffffff
jne 0x1800619f5
mov ecx, 0x2f2d7eeb
call fcn.180049150
mov qword [0x1800cebb0], rax
lea rcx, [0x1800ce500]
call fcn.18007051c
mov rax, qword [0x1800cebb0]
mov r12, qword [rax + rsi]
mov eax, dword [rdi + r13]
cmp dword [0x1800cea68], eax
jle 0x180061a3e
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x180061a3e
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rcx, qword [rcx]
call fcn.180068d50
mov r14, rax
xorps xmm9, xmm9
mov dword [rbp + 0x67], 0
test rax, rax
jne 0x180061a6c
xorps xmm6, xmm6
jmp 0x180061ab7
mov eax, dword [rdi + r13]
cmp dword [0x1800ce9a0], eax
jle 0x180061aaa
lea rcx, [0x1800ce9a0]
call fcn.180070588
cmp dword [0x1800ce9a0], 0xffffffff
jne 0x180061aaa
mov ecx, 0xb5680964
call fcn.180049150
mov qword [0x1800ceb50], rax
lea rcx, [0x1800ce9a0]
call fcn.18007051c
mov rax, qword [0x1800ceb50]
movss xmm6, dword [rax + r14]
call fcn.18004d7d0
comiss xmm6, xmm0
jae 0x180062334
mov dword [rbp + 0x67], 0
test r14, r14
je 0x180061b74
mov eax, dword [rdi + r13]
cmp dword [0x1800cea98], eax
jle 0x180061b13
lea rcx, [0x1800cea98]
call fcn.180070588
cmp dword [0x1800cea98], 0xffffffff
jne 0x180061b13
mov ecx, 0x6ea1df4
call fcn.180049150
mov qword [0x1800ce7c0], rax
lea rcx, [0x1800cea98]
call fcn.18007051c
mov rbx, qword [0x1800ce7c0]
mov dword [rbp + 0x6f], 0
mov eax, dword [rdi + r13]
cmp dword [0x1800ce548], eax
jle 0x180061b5f
lea rcx, [0x1800ce548]
call fcn.180070588
cmp dword [0x1800ce548], 0xffffffff
jne 0x180061b5f
mov ecx, 0x523770d3
call fcn.180049150
mov qword [0x1800cea28], rax
lea rcx, [0x1800ce548]
call fcn.18007051c
movss xmm0, dword [rbx + r14]
mov rax, qword [0x1800cea28]
movss xmm1, dword [rax + r14]
jmp 0x180061b7a
xorps xmm0, xmm0
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x180062334
xor ecx, ecx
call fcn.1800507b0
xor r15d, r15d
test al, al
je 0x180061ba3
mov qword [rbp + 0x67], r15
lea rdx, [rbp + 0x67]
call fcn.180063ee0
mov rax, qword [rax]
jmp 0x180061bcd
mov ecx, 0xc8
call fcn.180070ab8
mov rbx, rax
mov qword [rbp + 0x67], rax
xor edx, edx
mov r8d, 0xc8
mov rcx, rax
call fcn.1800a1690
mov rcx, rbx
call fcn.18004f500
nop
mov rbx, qword [rax]
mov eax, dword [rdi + r13]
cmp dword [0x1800cea68], eax
jle 0x180061c0e
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x180061c0e
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rcx, qword [rcx]
call fcn.180050fd0
mov rcx, qword [rax]
movss xmm8, dword [rbx + 8]
subss xmm8, dword [rcx + 8]
movss xmm7, dword [rbx + 4]
subss xmm7, dword [rcx + 4]
movss xmm6, dword [rbx]
subss xmm6, dword [rcx]
movaps xmm2, xmm7
mulss xmm2, xmm7
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm2, xmm0
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180061c75
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180061c7d
movaps xmm0, xmm2
call fcn.1800a0218
divss xmm6, xmm0
divss xmm7, xmm0
divss xmm8, xmm0
mov eax, dword [rdi + r13]
cmp dword [0x1800cea68], eax
jle 0x180061cc8
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x180061cc8
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rcx, qword [rcx]
call fcn.180050fd0
mov rax, qword [rax]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x39], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x31], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp - 0x2d], xmm0
movss dword [rbp - 0x25], xmm8
mov eax, dword [rdi + r13]
cmp dword [0x1800ce9ec], eax
jle 0x180061d3f
lea rcx, [0x1800ce9ec]
call fcn.180070588
cmp dword [0x1800ce9ec], 0xffffffff
jne 0x180061d3f
mov ecx, 0x6f95d21e
call fcn.180049150
mov qword [0x1800ce6a0], rax
lea rcx, [0x1800ce9ec]
call fcn.18007051c
mov rax, qword [0x1800ce6a0]
mov dword [rax + rsi], 0x447a0000
xor ecx, ecx
call fcn.1800507b0
test al, al
je 0x180061d6a
mov qword [rbp + 0x67], r15
lea rdx, [rbp + 0x67]
call fcn.180063ee0
mov rax, qword [rax]
jmp 0x180061d94
mov ecx, 0xc8
call fcn.180070ab8
mov rbx, rax
mov qword [rbp + 0x67], rax
xor edx, edx
mov r8d, 0xc8
mov rcx, rax
call fcn.1800a1690
mov rcx, rbx
call fcn.18004f500
nop
mov rax, qword [rax]
mov rbx, qword [rax + 0x10]
mov eax, dword [rdi + r13]
cmp dword [0x1800ce500], eax
jle 0x180061dd9
lea rcx, [0x1800ce500]
call fcn.180070588
cmp dword [0x1800ce500], 0xffffffff
jne 0x180061dd9
mov ecx, 0x2f2d7eeb
call fcn.180049150
mov qword [0x1800cebb0], rax
lea rcx, [0x1800ce500]
call fcn.18007051c
mov rax, qword [0x1800cebb0]
mov qword [rax + rsi], rbx
mov eax, dword [rdi + r13]
cmp dword [0x1800ce664], eax
jle 0x180061e22
lea rcx, [0x1800ce664]
call fcn.180070588
cmp dword [0x1800ce664], 0xffffffff
jne 0x180061e22
mov ecx, 0x8d6e9b50
call fcn.180049150
mov qword [0x1800ce8c0], rax
lea rcx, [0x1800ce664]
call fcn.18007051c
mov rax, qword [0x1800ce8c0]
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [rax + rsi], xmm0
movsd xmm1, qword [rbp - 0x29]
movsd qword [rax + rsi + 0x10], xmm1
mov eax, dword [rdi + r13]
cmp dword [0x1800cea6c], eax
jle 0x180061e7a
lea rcx, [0x1800cea6c]
call fcn.180070588
cmp dword [0x1800cea6c], 0xffffffff
jne 0x180061e7a
mov ecx, 0xa5bffe2c
call fcn.180049150
mov qword [0x1800ceb98], rax
lea rcx, [0x1800cea6c]
call fcn.18007051c
mov rax, qword [0x1800ceb98]
mov byte [rax + rsi], 1
mov eax, dword [rdi + r13]
cmp dword [0x1800ce8a0], eax
jle 0x180061ec3
lea rcx, [0x1800ce8a0]
call fcn.180070588
cmp dword [0x1800ce8a0], 0xffffffff
jne 0x180061ec3
mov ecx, 0xb52f21cc
call fcn.180049150
mov qword [0x1800ce5e8], rax
lea rcx, [0x1800ce8a0]
call fcn.18007051c
mov rax, qword [0x1800ce5e8]
mov qword [rax + rsi], r15
xor ecx, ecx
call fcn.1800507b0
test al, al
je 0x180061eeb
mov qword [rbp + 0x67], r15
lea rdx, [rbp + 0x67]
call fcn.180063ee0
mov rax, qword [rax]
jmp 0x180061f15
mov ecx, 0xc8
call fcn.180070ab8
mov rbx, rax
mov qword [rbp + 0x67], rax
xor edx, edx
mov r8d, 0xc8
mov rcx, rax
call fcn.1800a1690
mov rcx, rbx
call fcn.18004f500
nop
mov rax, qword [rax]
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
test r12, r12
jne 0x180061f2e
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x41], r12d
jmp 0x180061f88
mov eax, dword [rdi + r13]
cmp dword [0x1800ce83c], eax
jle 0x180061f6f
lea rcx, [0x1800ce83c]
call fcn.180070588
cmp dword [0x1800ce83c], 0xffffffff
jne 0x180061f6f
mov ecx, 0xf93a4acc
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800ceac0], rcx
lea rcx, [0x1800ce83c]
call fcn.18007051c
movsd qword [rbp - 0x39], xmm6
mov dword [rbp - 0x31], ebx
lea r8, [rbp - 0x39]
mov rdx, r12
lea rcx, [rbp - 0x49]
call qword [0x1800ceac0]
movsd xmm6, qword [rbp - 0x49]
mov ebx, dword [rbp - 0x41]
mov eax, dword [rdi + r13]
cmp dword [0x1800cebf0], eax
jle 0x180061fce
lea rcx, [0x1800cebf0]
call fcn.180070588
cmp dword [0x1800cebf0], 0xffffffff
jne 0x180061fce
mov ecx, 0xbb875491
call fcn.180049150
mov qword [0x1800ce798], rax
lea rcx, [0x1800cebf0]
call fcn.18007051c
mov rax, qword [0x1800ce798]
movsd qword [rax + rsi], xmm6
mov dword [rax + rsi + 8], ebx
xor ecx, ecx
call fcn.1800507b0
test al, al
je 0x180061ffb
mov qword [rbp + 0x67], r15
lea rdx, [rbp + 0x67]
call fcn.180063ee0
mov rax, qword [rax]
jmp 0x180062025
mov ecx, 0xc8
call fcn.180070ab8
mov rbx, rax
mov qword [rbp + 0x67], rax
xor edx, edx
mov r8d, 0xc8
mov rcx, rax
call fcn.1800a1690
mov rcx, rbx
call fcn.18004f500
nop
mov rax, qword [rax]
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
test r12, r12
jne 0x18006203e
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x41], r12d
jmp 0x180062098
mov eax, dword [rdi + r13]
cmp dword [0x1800ce5c4], eax
jle 0x18006207f
lea rcx, [0x1800ce5c4]
call fcn.180070588
cmp dword [0x1800ce5c4], 0xffffffff
jne 0x18006207f
mov ecx, 0xeee87ae9
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800ce4e8], rcx
lea rcx, [0x1800ce5c4]
call fcn.18007051c
movsd qword [rbp - 0x39], xmm6
mov dword [rbp - 0x31], ebx
lea r8, [rbp - 0x39]
mov rdx, r12
lea rcx, [rbp - 0x49]
call qword [0x1800ce4e8]
movsd xmm6, qword [rbp - 0x49]
mov ebx, dword [rbp - 0x41]
mov eax, dword [rdi + r13]
cmp dword [0x1800ce908], eax
jle 0x1800620de
lea rcx, [0x1800ce908]
call fcn.180070588
cmp dword [0x1800ce908], 0xffffffff
jne 0x1800620de
mov ecx, 0x9a820d40
call fcn.180049150
mov qword [0x1800ce5a8], rax
lea rcx, [0x1800ce908]
call fcn.18007051c
mov rax, qword [0x1800ce5a8]
movsd qword [rax + rsi], xmm6
mov dword [rax + rsi + 8], ebx
mov qword [rbp + 0x67], r15
test r14, r14
je 0x180062140
mov eax, dword [rdi + r13]
cmp dword [0x1800ce628], eax
jle 0x180062135
lea rcx, [0x1800ce628]
call fcn.180070588
cmp dword [0x1800ce628], 0xffffffff
jne 0x180062135
mov ecx, 0x3a70d77f
call fcn.180049150
mov qword [0x1800ce848], rax
lea rcx, [0x1800ce628]
call fcn.18007051c
mov rax, qword [0x1800ce848]
mov r15, qword [rax + r14]
mov eax, dword [rdi + r13]
cmp dword [0x1800ce774], eax
jle 0x18006217e
lea rcx, [0x1800ce774]
call fcn.180070588
cmp dword [0x1800ce774], 0xffffffff
jne 0x18006217e
mov ecx, 0x1dcc3031
call fcn.180049150
mov qword [0x1800ce828], rax
lea rcx, [0x1800ce774]
call fcn.18007051c
mov rax, qword [0x1800ce828]
mov qword [rax + rsi], r15
test r14, r14
je 0x180062233
mov eax, dword [rdi + r13]
cmp dword [0x1800ce9c4], eax
jle 0x1800621d3
lea rcx, [0x1800ce9c4]
call fcn.180070588
cmp dword [0x1800ce9c4], 0xffffffff
jne 0x1800621d3
mov ecx, 0xad438e80
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800ce6f0], rcx
lea rcx, [0x1800ce9c4]
call fcn.18007051c
mov rax, qword [0x1800ce6f0]
mov rdx, rsi
mov rcx, r14
call rax
test al, al
je 0x180062233
mov eax, dword [rdi + r13]
cmp dword [0x1800ce698], eax
jle 0x180062227
lea rcx, [0x1800ce698]
call fcn.180070588
cmp dword [0x1800ce698], 0xffffffff
jne 0x180062227
mov ecx, 0x3dc5d92d
call fcn.18004a6b0
mov rcx, qword [rax]
mov qword [0x1800cea00], rcx
lea rcx, [0x1800ce698]
call fcn.18007051c
mov rdx, rsi
mov rcx, r14
call qword [0x1800cea00]
mov eax, dword [rdi + r13]
cmp dword [0x1800cea68], eax
jle 0x180062271
lea rcx, [0x1800cea68]
call fcn.180070588
cmp dword [0x1800cea68], 0xffffffff
jne 0x180062271
mov ecx, 0x3a1e5c61
call fcn.180048730
mov qword [0x1800ce818], rax
lea rcx, [0x1800cea68]
call fcn.18007051c
mov rax, qword [0x1800ce818]
mov rcx, qword [rax + 0xb8]
mov rcx, qword [rcx]
call fcn.180067380
mov rbx, rax
mov dword [rbp + 0x67], 0
test r14, r14
je 0x1800622e1
mov eax, dword [rdi + r13]
cmp dword [0x1800ceadc], eax
jle 0x1800622d4
lea rcx, [0x1800ceadc]
call fcn.180070588
cmp dword [0x1800ceadc], 0xffffffff
jne 0x1800622d4
mov ecx, 0xe79a0df3
call fcn.180049150
mov qword [0x1800ce570], rax
lea rcx, [0x1800ceadc]
call fcn.18007051c
mov rax, qword [0x1800ce570]
movss xmm9, dword [rax + r14]
test rbx, rbx
je 0x180062334
mov eax, dword [rdi + r13]
cmp dword [0x1800ceba8], eax
jle 0x180062327
lea rcx, [0x1800ceba8]
call fcn.180070588
cmp dword [0x1800ceba8], 0xffffffff
jne 0x180062327
mov ecx, 0x4c51f85a
call fcn.18004a6b0
mov rdx, qword [rax]
mov qword [0x1800ce6c0], rdx
lea rcx, [0x1800ceba8]
call fcn.18007051c
movaps xmm1, xmm9
mov rcx, rbx
call qword [0x1800ce6c0]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret