Function at 0x1800c3600
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0x268]
sub rsp, 0x360
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x18016b440]
xor rax, rsp
mov qword [rbp + 0x240], rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
mov rbx, rdx
sar rbx, 0xb
mov rax, rbx
shr rax, 0x3f
add rbx, rax
movzx eax, word [0x18014db14]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014db16]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x150], xmm1
lea rax, [rsp + 0x40]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1800c36a1
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x140]
call fcn.180010c60
nop
movzx eax, word [0x18014d230]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014d232]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x170], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3700
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x160]
call fcn.180010c60
nop
movzx eax, word [0x18014da28]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014da2a]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x190], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3760
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.180010c60
nop
movzx eax, word [0x18014d7a0]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014d7a2]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1b0], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c37c0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1a0]
call fcn.180010c60
nop
movzx eax, word [0x18014d86c]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014d86e]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1d0], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3820
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.180010c60
nop
movzx eax, word [0x18014d98c]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014d98e]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1f0], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3880
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1e0]
call fcn.180010c60
nop
movzx eax, word [0x18014d958]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014d95a]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x210], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c38e0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x200]
call fcn.180010c60
nop
movzx eax, word [0x18014d20c]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18014d20e]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x36
xor al, 0x37
mov byte [rsp + 0x42], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x230], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3940
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x220]
call fcn.180010c60
nop
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x1800c3970
dec eax
or eax, 0xfffffff8
inc eax
cdqe
shl rax, 5
lea rdx, [rbp + 0x140]
add rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.18000e670
nop
cmp byte [0x1801a3fa0], 0
je 0x1800c446a
cmp qword [0x1801a3fa8], rbx
jae 0x1800c446a
mov rax, qword [0x18016cb58]
cmp qword [0x18016cb50], rax
je 0x1800c446a
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
movsxd rax, r8d
movsxd rcx, dword [0x18016ca6c]
add rcx, rax
add rcx, rbx
mov qword [0x1801a3fa8], rcx
call qword [0x1801a3a70]
mov rcx, qword [rax + 0x1b0]
cmp dword [rcx + 0x48], 0
je 0x1800c446a
call qword [0x1801a3a70]
mov rcx, qword [rax + 0x108]
cmp qword [rcx + 0x138], 0
je 0x1800c446a
movups xmm0, xmmword [str.TUCQVTGUSNJ4K_7_2_H]
movups xmmword [rsp + 0x50], xmm0
mov eax, dword [0x18014d6f0]
mov dword [rsp + 0x60], eax
mov esi, dword [0x18016b410]
movdqa xmm6, xmmword [0x180151570]
cmp byte [0x18014d6f3], 0
je 0x1800c3bc2
xor r8d, r8d
cmp esi, 2
jl 0x1800c3b78
movdqa xmm4, xmmword [0x1801508d0]
movdqa xmm3, xmmword [0x180151a30]
movdqa xmm5, xmmword [0x180150d00]
movdqa xmm0, xmmword [str.55555555555555556666666666666666]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x70]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1800c3a91
cmp r8d, 0x14
jge 0x1800c3bc2
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x35
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x1800c3b90
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe8], xmm1
lea rax, [rsp + 0x50]
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3be0
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xd8]
call fcn.180010c60
nop
cmp byte [0x1801a3fb8], 0
je 0x1800c3c2f
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 0xf
cmova rdx, qword [rbp + 0xf8]
mov r8, qword [rbp + 0x108]
lea rcx, [rbp + 0xd8]
call fcn.180062bd0
mov rcx, qword [0x18016cb58]
sub rcx, qword [0x18016cb50]
sar rcx, 5
movsxd rax, dword [0x1801a3fb4]
xor edx, edx
div rcx
shl rdx, 5
add rdx, qword [0x18016cb50]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800c3c66
mov rdx, qword [rdx]
lea rcx, [rbp + 0xd8]
call fcn.180062bd0
mov rbx, qword [0x1801a3a60]
call qword [0x1801a3a78]
mov r8, qword [rax + 0xa8]
lea rdx, [rbp + 0xd8]
mov ecx, 2
call rbx
cmp byte [0x1801a3f9b], 0
je 0x1800c442c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
mov eax, dword [0x18014d168]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x18014d16c]
mov word [rsp + 0x44], cx
movzx eax, byte [0x18014d16e]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor cl, 0x39
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3a
xor al, 0x3b
mov byte [rsp + 0x46], al
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3d10
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.180010c60
nop
mov eax, dword [0x18014d49c]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x18014d4a0]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor al, 0x39
mov byte [rsp + 0x44], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3d70
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.180010c60
nop
mov eax, dword [0x18014d1d0]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x18014d1d4]
mov word [rsp + 0x44], cx
movzx eax, byte [0x18014d1d6]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor cl, 0x39
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3a
xor al, 0x3b
mov byte [rsp + 0x46], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3de3
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.180010c60
nop
mov eax, dword [0x18014d634]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x18014d638]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor al, 0x39
mov byte [rsp + 0x44], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3e40
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.180010c60
nop
mov eax, dword [0x18014d5a4]
mov dword [rsp + 0x40], eax
movzx eax, word [0x18014d5a8]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor al, 0x39
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x3a
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3ea5
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.180010c60
nop
mov eax, dword [0x18014da20]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x18014da24]
mov word [rsp + 0x44], cx
movzx eax, byte [0x18014da26]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor cl, 0x39
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3a
xor al, 0x3b
mov byte [rsp + 0x46], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3f20
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.180010c60
nop
mov eax, dword [0x18014da90]
mov dword [rsp + 0x40], eax
movzx eax, word [0x18014da94]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor al, 0x39
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x3a
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1800c3f85
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.180010c60
nop
mov eax, dword [0x18014d290]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x18014d294]
mov word [rsp + 0x44], cx
movzx eax, byte [0x18014d296]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor cl, 0x39
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3a
xor al, 0x3b
mov byte [rsp + 0x46], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800c4000
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.180010c60
nop
mov eax, dword [0x18014d2d8]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x18014d2dc]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor al, 0x39
mov byte [rsp + 0x44], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x90], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x1800c4061
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.180010c60
nop
mov eax, dword [0x18014d4a4]
mov dword [rsp + 0x40], eax
cmp byte [0x18014d4a7], 0
je 0x1800c4142
cmp esi, 2
jl 0x1800c4108
movdqa xmm3, xmmword [0x1801508d0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180151a30]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180151a30]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x180150d00]
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [str.55555555555555556666666666666666]
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rsp + 0x40], xmm3
jmp 0x1800c4142
lea r9, [rsp + 0x40]
xor r8d, r8d
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x35
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1800c4110
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1800c4160
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xa0]
call fcn.180010c60
nop
lea rax, [rbp - 0x80]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xc0]
call fcn.1800c4ea0
nop
lea r9, [fcn.18000d5e0]
mov edx, 0x20
mov r8d, 0xa
lea rcx, [rbp - 0x80]
call fcn.1801123c8
mov rbx, qword [rbp + 0xc8]
sub rbx, qword [rbp + 0xc0]
sar rbx, 5
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
div rbx
movsxd r10, edx
shl r10, 5
add r10, qword [rbp + 0xc0]
movups xmm0, xmmword [str.TUCQVTGUSNJ4K_7_2_H]
movups xmmword [rsp + 0x50], xmm0
mov eax, dword [0x18014d6f0]
mov dword [rsp + 0x60], eax
cmp byte [0x18014d6f3], 0
je 0x1800c4392
xor r8d, r8d
cmp esi, 2
jl 0x1800c4347
movdqa xmm4, xmmword [0x1801508d0]
movdqa xmm3, xmmword [0x180151a30]
movdqa xmm5, xmmword [0x180150d00]
movdqa xmm0, xmmword [str.55555555555555556666666666666666]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x70]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1800c4260
cmp r8d, 0x14
jge 0x1800c4392
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x35
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x1800c4360
lea rax, [rsp + 0x50]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800c4397
mov rcx, qword [r10 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdi
jb 0x1800c44c2
mov rax, r10
cmp qword [r10 + 0x18], 0xf
jbe 0x1800c43c7
mov rax, qword [r10]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x50]
mov r8, r10
movzx edx, byte [rsp + 0x48]
lea rcx, [rbp + 0x118]
call fcn.18006b5b0
nop
mov rbx, qword [0x1801a3a60]
call qword [0x1801a3a78]
mov r8, qword [rax + 0xa8]
lea rdx, [rbp + 0x118]
mov ecx, 2
call rbx
nop
lea rcx, [rbp + 0x118]
call fcn.18000eb30
nop
lea rcx, [rbp + 0xc0]
call fcn.18000e830
mov eax, dword [0x1801a3fb4]
inc eax
mov dword [0x1801a3fb4], eax
mov rcx, qword [0x18016cb58]
sub rcx, qword [0x18016cb50]
sar rcx, 5
cdqe
cmp rax, rcx
jb 0x1800c445d
mov dword [0x1801a3fb4], 0
lea rcx, [rbp + 0xd8]
call fcn.18000eb30
nop
lea rcx, [rbp + 0xf8]
call fcn.18000eb30
nop
lea r9, [fcn.18000d5e0]
mov edx, 0x20
mov r8d, 8
lea rcx, [rbp + 0x140]
call fcn.1801123c8
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.180111c00
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret
call fcn.180002ef0
nop
int3