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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
xor r12d, r12d
movaps xmmword [rax - 0x58], xmm7
mov rdi, rcx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov qword [rcx + 4], r12
mov dword [rcx], r12d
test dl, dl
je 0x18005f093
mov rcx, qword [0x1802c5d38]
call fcn.18005ad08
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.18005aa4c
or rbx, 0xffffffffffffffff
mov esi, 4
xorps xmm6, xmm6
movss xmm0, dword [rax + 4]
movss xmm1, dword [rax + 8]
mov eax, dword [rax]
mov dword [rdi], eax
addss xmm0, dword [0x1800462d4]
movss dword [rdi + 4], xmm0
movss dword [rdi + 8], xmm1
mov r15, qword [0x1802c5d38]
mov r14d, dword [0x1802c570c]
test r15, r15
jne 0x18005f059
and dword [rsp + 0x20], r12d
and dword [rsp + 0x24], r12d
and dword [rsp + 0x28], r12d
jmp 0x18005f083
mov rax, qword gs:[0x58]
mov rax, qword [rax + r14*8]
mov eax, dword [rsi + rax]
cmp dword [0x1802ebeb4], eax
jg 0x18005f82a
mov rdx, r15
lea rcx, [rsp + 0x20]
call qword [0x1802eb930]
movsd xmm0, qword [rsp + 0x20]
mov r13d, dword [rsp + 0x28]
jmp 0x18005f172
cmp byte [0x1802c5f47], r12b
xorps xmm6, xmm6
je 0x18005f0dd
movss xmm0, dword [0x1802eb698]
ucomiss xmm0, xmm6
jne 0x18005f0c6
movss xmm0, dword [0x1802eb69c]
ucomiss xmm0, xmm6
jne 0x18005f0c6
movss xmm0, dword [0x1802eb6a0]
ucomiss xmm0, xmm6
je 0x18005f0dd
movsd xmm0, qword [0x1802eb698]
mov eax, dword [0x1802eb6a0]
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
jmp 0x18005f102
mov rcx, qword [0x1802c5f08]
lea rdx, [rsp + 0x30]
mov r8d, 0x2f
call fcn.18005d914
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rdi], xmm0
mov dword [rdi + 8], eax
mov rcx, qword [0x1802c5f08]
call fcn.18005dee4
mov r14d, dword [0x1802c570c]
or rbx, 0xffffffffffffffff
mov esi, 4
mov r15, qword [rax]
test r15, r15
jne 0x18005f139
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm6
unpcklps xmm0, xmm6
movd r13d, xmm6
jmp 0x18005f16c
mov rax, qword gs:[0x58]
mov rax, qword [rax + r14*8]
mov eax, dword [rsi + rax]
cmp dword [0x1802ec4a8], eax
jg 0x18005f867
mov rax, qword [0x1802ebad0]
mov r13d, dword [r15 + rax + 8]
movsd xmm0, qword [r15 + rax]
mov dword [rsp + 0x28], r13d
movsd qword [rsp + 0x20], xmm0
mov dword [rbp + 0x58], r13d
movsd qword [rsp + 0x40], xmm0
call fcn.18005df60
mov rcx, rax
call fcn.1800a4428
mov r12, rax
test rax, rax
je 0x18005f7f8
mov r8, qword [rax]
lea r10, [0x18003eb10]
or r15d, 0xffffffff
test r8, r8
je 0x18005f3ab
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x18005f3ab
mov edx, r15d
mov rax, rbx
inc rax
cmp byte [r8 + rax], 0
jne 0x18005f1bf
test eax, eax
je 0x18005f3ab
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
xor edx, dword [r10 + rax*4]
sub r9, 1
jne 0x18005f1d4
not edx
cmp edx, 0x479168ed
jne 0x18005f3ab
call fcn.18005df60
mov rcx, rax
call fcn.18005dda4
mov rcx, rax
call fcn.18005d244
mov rcx, qword [rax]
call fcn.18005c09c
cmp dword [rax], 0x5bd8cc17
je 0x18005f253
call fcn.18005df60
mov rcx, rax
call fcn.18005dda4
mov rcx, rax
call fcn.18005d244
mov rcx, qword [rax]
call fcn.18005c09c
cmp dword [rax], 0x5f867078
je 0x18005f253
movsd xmm9, qword [0x180046328]
jmp 0x18005f25c
movsd xmm9, qword [0x180046350]
call fcn.18005df60
mov rcx, rax
call fcn.18005d4b8
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.18005ce18
movss xmm7, dword [rdi]
movss xmm8, dword [rdi + 4]
movss xmm6, dword [rdi + 8]
movsd xmm0, qword [rax]
subss xmm6, dword [rax + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm7, dword [rsp + 0x20]
subss xmm8, dword [rsp + 0x24]
call fcn.18005ef2c
movss xmm3, dword [0x180046294]
movss xmm1, dword [rsp + 0x40]
mulss xmm1, dword [0x180046258]
divss xmm3, xmm0
xorps xmm0, xmm0
mulss xmm8, xmm8
mulss xmm7, xmm7
mulss xmm6, xmm6
addss xmm8, xmm7
addss xmm8, xmm6
sqrtss xmm0, xmm8
mulss xmm3, xmm0
movd xmm0, r13d
mulss xmm0, dword [0x180046258]
mulss xmm1, xmm3
mulss xmm0, xmm3
addss xmm1, dword [rdi]
addss xmm0, dword [rdi + 8]
movss dword [rdi], xmm1
movss dword [rdi + 8], xmm0
call fcn.18005df60
mov rcx, rax
call fcn.18005d4b8
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.18005ce18
movss xmm0, dword [rdi + 4]
subss xmm0, dword [rax + 4]
cvtps2pd xmm6, xmm0
call fcn.18005df60
mov rcx, rax
call fcn.18005d4b8
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.18005ce18
movss xmm1, dword [rdi + 8]
movaps xmm0, xmm6
movss xmm2, dword [rdi]
subss xmm1, dword [rax + 8]
subss xmm2, dword [rax]
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm1, xmm2
sqrtss xmm1, xmm1
cvtps2pd xmm7, xmm1
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm6, xmm0
call fcn.18005ef2c
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm6, xmm1
divsd xmm7, xmm6
mulsd xmm9, xmm7
mulsd xmm9, xmm7
cvtpd2ps xmm0, xmm9
jmp 0x18005f7ee
mov rax, qword gs:[0x58]
mov r14, qword [rax + r14*8]
mov eax, dword [r14 + rsi]
cmp dword [0x1802ec9d4], eax
jg 0x18005f8a1
cmp qword [0x1802ec1a8], 0
je 0x18005f7f8
mov rcx, r12
call fcn.18005c594
mov r13, qword [rax]
test r13, r13
je 0x18005f7f8
mov eax, dword [r14 + rsi]
cmp dword [0x1802ec90c], eax
jg 0x18005fa0f
mov rax, qword [0x1802eca20]
mov rcx, qword [rax + r13]
test rcx, rcx
je 0x18005f7f8
call fcn.1800a453c
mov r13, rax
test rax, rax
je 0x18005f7f8
cmp byte [0x1802c5f31], 0
movss xmm7, dword [0x1800462d0]
je 0x18005f436
movaps xmm9, xmm7
jmp 0x18005f43f
movss xmm9, dword [0x180046294]
mov rax, qword [0x1802eb788]
mov rcx, r13
call rax
mov eax, dword [r14 + rsi]
movaps xmm8, xmm0
cmp dword [0x1802ebb98], eax
jg 0x18005fa49
mov rax, qword [0x1802eb9c8]
mov rdx, qword [r12]
mulss xmm8, xmm9
mulss xmm8, dword [rax + r12]
test rdx, rdx
je 0x18005f517
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x18005f517
mov rax, rbx
inc rax
cmp byte [rdx + rax], 0
jne 0x18005f48e
test eax, eax
je 0x18005f517
mov r8d, eax
lea r9, [0x18003eb10]
movsx ecx, byte [rdx]
mov eax, r15d
xor rcx, rax
shr r15d, 8
movzx eax, cl
inc rdx
xor r15d, dword [r9 + rax*4]
sub r8, 1
jne 0x18005f4a5
not r15d
cmp r15d, 0x643e3521
jne 0x18005f517
cmp byte [0x1802c5f31], r8b
jne 0x18005f4df
movss xmm7, dword [0x180046294]
mov rax, qword [0x1802eb788]
mov rcx, r13
call rax
mov eax, dword [r14 + rsi]
movaps xmm8, xmm0
cmp dword [0x1802ebdd8], eax
jg 0x18005fa83
mov rax, qword [0x1802ec8c0]
xor edx, edx
mov rcx, r12
call rax
mulss xmm8, xmm7
mulss xmm8, xmm0
ucomiss xmm8, xmm6
je 0x18005f7f8
mov eax, dword [r14 + rsi]
cmp dword [0x1802ebef8], eax
jg 0x18005fac0
mov rax, qword [0x1802ebfb8]
mov rcx, qword [rax + r13]
test rcx, rcx
jne 0x18005f54b
call fcn.18005ac24
jmp 0x18005f7f8
mov eax, dword [r14 + rsi]
cmp dword [0x1802ebba8], eax
mov r15, qword [rcx + 0x10]
jg 0x18005fafa
mov rax, qword [0x1802eb960]
mov rcx, r15
call rax
mov r12, rax
call fcn.18005ac24
mov r15, rax
test r12, r12
je 0x18005f7f8
test rax, rax
je 0x18005f7f8
mov ecx, dword [r14 + rsi]
cmp dword [0x1802ebf8c], ecx
jg 0x18005fb37
mov rax, qword [0x1802eb920]
mov rdx, r15
mov rcx, r12
call rax
mov r15, rax
test rax, rax
je 0x18005f7f8
mov ecx, dword [r14 + rsi]
cmp dword [0x1802ebee0], ecx
jg 0x18005fb74
mov eax, dword [r14 + rsi]
cmp dword [0x1802ebeb0], eax
jg 0x18005fbae
mov eax, dword [r14 + rsi]
cmp dword [0x1802eca50], eax
jg 0x18005fbe8
mov ecx, dword [0x1802ec5c8]
test ecx, ecx
je 0x18005f5f7
sub ecx, 1
je 0x18005f5f7
cmp ecx, 1
jne 0x18005f602
lea rcx, [rsp + 0x30]
call qword [0x1802ec5c0]
mov eax, dword [r14 + rsi]
cmp dword [0x1802ec3e0], eax
jg 0x18005fc22
mov rax, qword [0x1802ec510]
movss xmm7, dword [r15 + rax]
mov eax, dword [r14 + rsi]
cmp dword [0x1802eb9bc], eax
jg 0x18005fc5c
mov rax, qword [0x1802eb9a0]
mov rcx, r15
movss xmm6, dword [r15 + rax]
call fcn.18005e7ac
mov rcx, r15
call fcn.18005e6b4
movss xmm0, dword [0x1800461bc]
mov r12, r15
subss xmm0, xmm6
comiss xmm7, xmm0
jb 0x18005f691
mov ecx, dword [0x1802ec228]
subss xmm7, xmm0
mulss xmm7, dword [0x1800463d8]
test ecx, ecx
je 0x18005f685
sub ecx, 1
je 0x18005f685
cmp ecx, 1
je 0x18005f685
mov eax, dword [rbp + 0x58]
jmp 0x18005f691
mov rax, qword [0x1802ec220]
movaps xmm0, xmm7
call rax
call fcn.18005df60
mov rcx, rax
call fcn.18005d4b8
lea rdx, [rbp - 0x50]
mov rcx, qword [rax]
call fcn.18005ce18
movss xmm2, dword [rdi + 8]
movss xmm1, dword [rdi + 4]
movss xmm3, dword [rbp + 0x58]
subss xmm2, dword [rax + 8]
movsd xmm0, qword [rax]
mulss xmm3, dword [0x180046258]
movsd qword [rsp + 0x20], xmm0
movss xmm0, dword [rdi]
subss xmm0, dword [rsp + 0x20]
subss xmm1, dword [rsp + 0x24]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rsp + 0x40]
mulss xmm0, dword [0x180046258]
addss xmm1, xmm2
xorps xmm2, xmm2
sqrtss xmm2, xmm1
divss xmm2, xmm8
mulss xmm3, xmm2
mulss xmm0, xmm2
addss xmm3, dword [rdi + 8]
addss xmm0, dword [rdi]
movss dword [rdi + 8], xmm3
movss dword [rdi], xmm0
call fcn.18005df60
mov rcx, rax
call fcn.18005d4b8
lea rdx, [rsp + 0x40]
mov rcx, qword [rax]
call fcn.18005ce18
movss xmm0, dword [rdi + 4]
subss xmm0, dword [rax + 4]
cvtps2pd xmm9, xmm0
call fcn.18005df60
mov rcx, rax
call fcn.18005d4b8
lea rdx, [rbp - 0x44]
mov rcx, qword [rax]
call fcn.18005ce18
movss xmm1, dword [rdi + 8]
xorps xmm7, xmm7
movss xmm0, dword [rdi]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 8]
mov eax, dword [r14 + rsi]
cmp dword [0x1802ebdb0], eax
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
sqrtss xmm7, xmm0
jg 0x18005fc96
mov rax, qword [0x1802ec6c0]
movaps xmm0, xmm9
cvtps2pd xmm7, xmm7
movss xmm6, dword [rax + r12]
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mulss xmm6, dword [0x180046234]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm8
mulsd xmm0, xmm1
divsd xmm7, xmm0
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm7
mulsd xmm7, qword [0x180046348]
mulsd xmm0, xmm7
cvtpd2ps xmm0, xmm0
addss xmm0, dword [rdi + 4]
movss dword [rdi + 4], xmm0
lea r11, [rsp + 0x110]
mov rax, rdi
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
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
lea rcx, [0x1802ebeb4]
call fcn.1800c8ab4
cmp dword [0x1802ebeb4], ebx
jne 0x18005f075
mov ecx, 0x1e3bf1a8
call fcn.180056628
lea rcx, [0x1802ebeb4]
mov r8, qword [rax]
mov qword [0x1802eb930], r8
call fcn.1800c8a48
jmp 0x18005f075
lea rcx, [0x1802ec4a8]
call fcn.1800c8ab4
cmp dword [0x1802ec4a8], ebx
jne 0x18005f155
mov ecx, 0xcf100582
call fcn.180057c04
lea rcx, [0x1802ec4a8]
mov qword [0x1802ebad0], rax
call fcn.1800c8a48
jmp 0x18005f155
lea rcx, [0x1802ec9d4]
call fcn.1800c8ab4
cmp dword [0x1802ec9d4], ebx
jne 0x18005f3c8
movabs rax, 0x33c945025bbe7680
movabs rcx, 0x8fa082fa7b1fcb8a
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x50], rax
movabs rax, 0xf9081f95bf0d1274
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x58], rax
movabs rax, 0x8a2a75828b98be3e
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x60], rax
movabs rax, 0xd68aa90bd2f5abaa
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x68], rax
movabs rax, 0x8ceb1743dd0bf56f
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x50], rcx
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x78], rax
movabs rax, 0x63ad2a4f36db02c9
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x80], rax
movabs rax, 0x95616bf6da677d06
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x78], rax
movabs rax, 0xe74f06f1cab8925b
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x70], rax
movabs rax, 0xb7e2fa48ff8cc7c8
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x68], rax
movabs rax, 0x8ceb1743dd0b851d
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x50], rcx
lea rcx, [rsp + 0x50]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x50]
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp - 0x80]
movdqa xmm1, xmmword [rsp + 0x60]
xorps xmm1, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rbp - 0x58], rax
xorps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x60], xmm1
call fcn.18005ab98
lea rcx, [0x1802ec9d4]
mov qword [0x1802ec1a8], rax
call fcn.1800c8a48
jmp 0x18005f3c8
lea rcx, [0x1802ec90c]
call fcn.1800c8ab4
cmp dword [0x1802ec90c], ebx
jne 0x18005f3fa
mov ecx, 0xd10dec8f
call fcn.180057c04
lea rcx, [0x1802ec90c]
mov qword [0x1802eca20], rax
call fcn.1800c8a48
jmp 0x18005f3fa
lea rcx, [0x1802ebb98]
call fcn.1800c8ab4
cmp dword [0x1802ebb98], ebx
jne 0x18005f45f
mov ecx, 0xcdd491cf
call fcn.180057c04
lea rcx, [0x1802ebb98]
mov qword [0x1802eb9c8], rax
call fcn.1800c8a48
jmp 0x18005f45f
lea rcx, [0x1802ebdd8]
call fcn.1800c8ab4
cmp dword [0x1802ebdd8], ebx
jne 0x18005f4ff
mov ecx, 0xe205489c
call fcn.180056628
lea rcx, [0x1802ebdd8]
mov rdx, qword [rax]
mov qword [0x1802ec8c0], rdx
call fcn.1800c8a48
jmp 0x18005f4ff
lea rcx, [0x1802ebef8]
call fcn.1800c8ab4
cmp dword [0x1802ebef8], ebx
jne 0x18005f531
mov ecx, 0xc2fb7f15
call fcn.180057c04
lea rcx, [0x1802ebef8]
mov qword [0x1802ebfb8], rax
call fcn.1800c8a48
jmp 0x18005f531
lea rcx, [0x1802ebba8]
call fcn.1800c8ab4
cmp dword [0x1802ebba8], ebx
jne 0x18005f55f
mov ecx, 0xad5514be
call fcn.180056628
lea rcx, [0x1802ebba8]
mov rdx, qword [rax]
mov qword [0x1802eb960], rdx
call fcn.1800c8a48
jmp 0x18005f55f
lea rcx, [0x1802ebf8c]
call fcn.1800c8ab4
cmp dword [0x1802ebf8c], ebx
jne 0x18005f598
mov ecx, 0xe2084f16
call fcn.180056628
lea rcx, [0x1802ebf8c]
mov rdx, qword [rax]
mov qword [0x1802eb920], rdx
call fcn.1800c8a48
jmp 0x18005f598
lea rcx, [0x1802ebee0]
call fcn.1800c8ab4
cmp dword [0x1802ebee0], ebx
jne 0x18005f5c3
mov ecx, 0xf7f41b93
call fcn.180057c04
lea rcx, [0x1802ebee0]
mov qword [0x1802eb978], rax
call fcn.1800c8a48
jmp 0x18005f5c3
lea rcx, [0x1802ebeb0]
call fcn.1800c8ab4
cmp dword [0x1802ebeb0], ebx
jne 0x18005f5d3
mov ecx, 0xf0029cf
call fcn.180057c04
lea rcx, [0x1802ebeb0]
mov qword [0x1802ec468], rax
call fcn.1800c8a48
jmp 0x18005f5d3
lea rcx, [0x1802eca50]
call fcn.1800c8ab4
cmp dword [0x1802eca50], ebx
jne 0x18005f5e3
mov ecx, 0x37af76f4
call fcn.180057c04
lea rcx, [0x1802eca50]
mov qword [0x1802eba40], rax
call fcn.1800c8a48
jmp 0x18005f5e3
lea rcx, [0x1802ec3e0]
call fcn.1800c8ab4
cmp dword [0x1802ec3e0], ebx
jne 0x18005f612
mov ecx, 0xd32773e6
call fcn.180057c04
lea rcx, [0x1802ec3e0]
mov qword [0x1802ec510], rax
call fcn.1800c8a48
jmp 0x18005f612
lea rcx, [0x1802eb9bc]
call fcn.1800c8ab4
cmp dword [0x1802eb9bc], ebx
jne 0x18005f62f
mov ecx, 0xb1b95b62
call fcn.180057c04
lea rcx, [0x1802eb9bc]
mov qword [0x1802eb9a0], rax
call fcn.1800c8a48
jmp 0x18005f62f
lea rcx, [0x1802ebdb0]
call fcn.1800c8ab4
cmp dword [0x1802ebdb0], ebx
jne 0x18005f79e
mov ecx, 0x24cf107d
call fcn.180057c04
lea rcx, [0x1802ebdb0]
mov qword [0x1802ec6c0], rax
call fcn.1800c8a48
jmp 0x18005f79e