Function at 0x1800e5770
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 [0x1801c85c0]
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 [0x1801a12a4]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a12a6]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e5811
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x140]
call fcn.180012450
nop
movzx eax, word [0x1801a0654]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a0656]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e5870
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x160]
call fcn.180012450
nop
movzx eax, word [0x1801a0764]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a0766]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e58d0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.180012450
nop
movzx eax, word [0x1801a0768]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a076a]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e5930
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1a0]
call fcn.180012450
nop
movzx eax, word [0x1801a0978]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a097a]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e5990
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.180012450
nop
movzx eax, word [0x1801a07d8]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a07da]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e59f0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1e0]
call fcn.180012450
nop
movzx eax, word [0x1801a0ef8]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a0efa]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e5a50
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x200]
call fcn.180012450
nop
movzx eax, word [0x1801a1040]
mov word [rsp + 0x40], ax
movzx eax, byte [0x1801a1042]
mov byte [rsp + 0x40], 0x60
xor byte [rsp + 0x41], 0x37
xor al, 0x38
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 0x1800e5ab0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x220]
call fcn.180012450
nop
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x1800e5ae0
dec eax
or eax, 0xfffffff8
inc eax
cdqe
shl rax, 5
lea rdx, [rbp + 0x140]
add rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.18000ffa0
nop
cmp byte [0x1802044f8], 0
je 0x1800e65d8
cmp qword [0x180204508], rbx
jae 0x1800e65d8
mov rax, qword [0x1801c9ea8]
cmp qword [0x1801c9ea0], rax
je 0x1800e65d8
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 [0x1801c9cdc]
add rcx, rax
add rcx, rbx
mov qword [0x180204508], rcx
call qword [0x180204358]
mov rcx, qword [rax + 0x1b0]
cmp dword [rcx + 0x48], 0
je 0x1800e65d8
call qword [0x180204358]
mov rcx, qword [rax + 0x108]
cmp qword [rcx + 0x138], 0
je 0x1800e65d8
movups xmm0, xmmword [str.WTLPUU_TPO55H_0__34I]
movups xmmword [rsp + 0x50], xmm0
mov eax, dword [0x1801a0a00]
mov dword [rsp + 0x60], eax
mov esi, dword [0x1801c8570]
movdqa xmm6, xmmword [0x1801a5540]
cmp byte [0x1801a0a03], 0
je 0x1800e5d30
xor r8d, r8d
cmp esi, 2
jl 0x1800e5ce8
movdqa xmm4, xmmword [0x1801a5470]
movdqa xmm3, xmmword [0x1801a5a80]
movdqa xmm5, xmmword [str.1111222277778888::::]
movdqa xmm0, xmmword [0x1801a5660]
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 0x1800e5c01
cmp r8d, 0x14
jge 0x1800e5d30
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x1800e5d00
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe8], xmm1
lea rax, [rsp + 0x50]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800e5d50
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xd8]
call fcn.180012450
nop
cmp byte [0x180204522], 0
je 0x1800e5d9f
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.180064ce0
mov rcx, qword [0x1801c9ea8]
sub rcx, qword [0x1801c9ea0]
sar rcx, 5
movsxd rax, dword [0x18020452c]
xor edx, edx
div rcx
shl rdx, 5
add rdx, qword [0x1801c9ea0]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800e5dd6
mov rdx, qword [rdx]
lea rcx, [rbp + 0xd8]
call fcn.180064ce0
mov rbx, qword [0x180204348]
call qword [0x180204360]
mov r8, qword [rax + 0xa8]
lea rdx, [rbp + 0xd8]
mov ecx, 2
call rbx
cmp byte [0x1802044f0], 0
je 0x1800e659a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
mov eax, dword [0x1801a06c8]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x1801a06cc]
mov word [rsp + 0x44], cx
movzx eax, byte [0x1801a06ce]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor cl, 0x3a
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3b
xor al, 0x3c
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 0x1800e5e80
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.180012450
nop
mov eax, dword [0x1801a08c4]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x1801a08c8]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor al, 0x3a
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 0x1800e5ee0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.180012450
nop
mov eax, dword [0x1801a0bfc]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x1801a0c00]
mov word [rsp + 0x44], cx
movzx eax, byte [0x1801a0c02]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor cl, 0x3a
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3b
xor al, 0x3c
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 0x1800e5f53
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.180012450
nop
mov eax, dword [0x1801a094c]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x1801a0950]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor al, 0x3a
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 0x1800e5fb0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.180012450
nop
mov eax, dword [0x1801a07ec]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1801a07f0]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor al, 0x3a
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x3b
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 0x1800e6015
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.180012450
nop
mov eax, dword [0x1801a0818]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x1801a081c]
mov word [rsp + 0x44], cx
movzx eax, byte [0x1801a081e]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor cl, 0x3a
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3b
xor al, 0x3c
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 0x1800e6090
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.180012450
nop
mov eax, dword [0x1801a0ef0]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1801a0ef4]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor al, 0x3a
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x3b
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 0x1800e60f5
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.180012450
nop
mov eax, dword [0x1801a0c74]
mov dword [rsp + 0x40], eax
movzx ecx, word [0x1801a0c78]
mov word [rsp + 0x44], cx
movzx eax, byte [0x1801a0c7a]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor cl, 0x3a
mov byte [rsp + 0x44], cl
xor byte [rsp + 0x45], 0x3b
xor al, 0x3c
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 0x1800e6170
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.180012450
nop
mov eax, dword [0x1801a0fd8]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x1801a0fdc]
mov byte [rsp + 0x40], 0x2f
xor byte [rsp + 0x41], 0x37
xor byte [rsp + 0x42], 0x38
xor byte [rsp + 0x43], 0x39
xor al, 0x3a
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 0x1800e61d1
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.180012450
nop
mov eax, dword [0x1801a103c]
mov dword [rsp + 0x40], eax
cmp byte [0x1801a103f], 0
je 0x1800e62b0
cmp esi, 2
jl 0x1800e6278
movdqa xmm3, xmmword [0x1801a5470]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x1801a5a80]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x1801a5a80]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [str.1111222277778888::::]
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x1801a5660]
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rsp + 0x40], xmm3
jmp 0x1800e62b0
lea r9, [rsp + 0x40]
xor r8d, r8d
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1800e6280
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800e62d0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xa0]
call fcn.180012450
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.180057200
nop
lea r9, [fcn.180004470]
mov edx, 0x20
mov r8d, 0xa
lea rcx, [rbp - 0x80]
call fcn.18015c168
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.WTLPUU_TPO55H_0__34I]
movups xmmword [rsp + 0x50], xmm0
mov eax, dword [0x1801a0a00]
mov dword [rsp + 0x60], eax
cmp byte [0x1801a0a03], 0
je 0x1800e6500
xor r8d, r8d
cmp esi, 2
jl 0x1800e64b7
movdqa xmm4, xmmword [0x1801a5470]
movdqa xmm3, xmmword [0x1801a5a80]
movdqa xmm5, xmmword [str.1111222277778888::::]
movdqa xmm0, xmmword [0x1801a5660]
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 0x1800e63d0
cmp r8d, 0x14
jge 0x1800e6500
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x1800e64d0
lea rax, [rsp + 0x50]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800e6505
mov rcx, qword [r10 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdi
jb 0x1800e6630
mov rax, r10
cmp qword [r10 + 0x18], 0xf
jbe 0x1800e6535
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.180076470
nop
mov rbx, qword [0x180204348]
call qword [0x180204360]
mov r8, qword [rax + 0xa8]
lea rdx, [rbp + 0x118]
mov ecx, 2
call rbx
nop
lea rcx, [rbp + 0x118]
call fcn.180004520
nop
lea rcx, [rbp + 0xc0]
call fcn.180004490
mov eax, dword [0x18020452c]
inc eax
mov dword [0x18020452c], eax
mov rcx, qword [0x1801c9ea8]
sub rcx, qword [0x1801c9ea0]
sar rcx, 5
cdqe
cmp rax, rcx
jb 0x1800e65cb
mov dword [0x18020452c], 0
lea rcx, [rbp + 0xd8]
call fcn.180004520
nop
lea rcx, [rbp + 0xf8]
call fcn.180004520
nop
lea r9, [fcn.180004470]
mov edx, 0x20
mov r8d, 8
lea rcx, [rbp + 0x140]
call fcn.18015c168
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.18015b9a0
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.1800048a0
nop
int3