Function at 0x1800211f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x1801432e0]
xor rax, rsp
mov qword [rbp - 0x58], rax
mov rax, qword [0x18018d8e8]
mov r14d, 4
mov rcx, rdx
lea rdx, [0x18018d8ab]
or dword [rax + 0x1cb0], 2
lea r8d, [r14 - 1]
mov dword [rax + 0x1cd0], 0x44020000
mov dword [rax + 0x1cd4], 0x44160000
mov dword [rax + 0x1cb8], r14d
call fcn.18006be40
test al, al
je 0x1800233e7
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x118], r13
mov qword [rsp + 0x110], r15
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xf0], xmm7
call fcn.1800704e0
mov r12d, dword [0x1801432f0]
xor esi, esi
lea edi, [rsi + 0x1f]
test al, al
je 0x18002149a
cmp byte [0x1800fcf4d], sil
mov eax, dword [0x1800fcf48]
movsd xmm0, qword [str.rGP]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1800fcf4c]
mov word [rsp + 0x5c], ax
movsd qword [rsp + 0x50], xmm0
je 0x180021441
mov r8d, esi
cmp r12d, 2
jl 0x180021402
movdqa xmm2, xmmword [0x1800ff470]
mov r8d, 8
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.rGP]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x50], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x54]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
xorps xmm2, xmm0
movd dword [rsp + 0x54], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x180021410
lea rcx, [rsp + 0x50]
call fcn.180093cc0
test al, al
je 0x180021456
mov byte [0x18018d8ab], sil
mov rbx, qword [0x18018d8e8]
mov rax, qword [rbx + 0x1c10]
cmp qword [rbx + 0x1dc8], rax
jne 0x18002147e
mov qword [rbx + 0x1ee8], rax
mov dword [rbx + 0x1ef0], 2
test dword [rax + 0xc], 0x1000000
je 0x18002148e
mov byte [rbx + 0x1b9e], 1
call fcn.18006e250
mov byte [rbx + 0x1b9e], sil
movzx eax, word [0x1800fa928]
mov r8d, esi
mov word [rbp - 0x70], ax
movzx eax, byte [0x1800fa92a]
mov byte [rbp - 0x6e], al
movups xmm0, xmmword [0x1800fa910]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1800fa920]
movsd qword [rbp - 0x78], xmm0
cmp r12d, 2
jl 0x180021615
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rsp + 0x7c]
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm7, xmmword [0x1800ff4c0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
movd xmm6, r14d
movd xmm8, edi
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180021510
cmp r8d, 0x1b
jge 0x180021651
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x1b
jl 0x180021620
movd xmm1, dword [0x18018d8c4]
lea rdx, [rsp + 0x78]
movd xmm2, dword [0x180143350]
lea rcx, [rsp + 0x50]
movd xmm3, dword [0x180143354]
mov dword [rsp + 0x5c], 0x437f0000
movups xmm4, xmmword [rsp + 0x50]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
movss xmm4, xmm1
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm2
shufps xmm4, xmm4, 0xc6
cvtdq2ps xmm3, xmm3
movss xmm4, xmm3
shufps xmm4, xmm4, 0xc9
movups xmmword [rsp + 0x50], xmm4
movups xmmword [rsp + 0x50], xmm4
call fcn.18008a620
movzx eax, byte [0x1800fab50]
mov r8d, esi
mov byte [rbp - 0x70], al
movups xmm0, xmmword [str._8vZASE]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1800fab48]
movsd qword [rbp - 0x78], xmm0
cmp r12d, 2
jl 0x180021825
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rsp + 0x7c]
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm7, xmmword [0x1800ff4c0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
movd xmm6, r14d
movd xmm8, edi
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180021720
cmp r8d, 0x19
jge 0x180021861
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x19
jl 0x180021830
lea rcx, [rsp + 0x78]
call fcn.18008a6e0
cmp byte [0x1800fb611], sil
movups xmm0, xmmword [0x1800fb600]
movzx eax, word [0x1800fb610]
mov word [rsp + 0x70], ax
movups xmmword [rsp + 0x60], xmm0
je 0x180021a21
mov r8d, esi
cmp r12d, 2
jl 0x1800219e5
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rsp + 0x64]
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm7, xmmword [0x1800ff4c0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
movd xmm6, r14d
movd xmm8, edi
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x1800218e0
cmp r8d, 0x12
jge 0x180021a21
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x12
jl 0x1800219f0
mov rbx, qword [0x18018d8e8]
lea rdx, [rsp + 0x50]
mov r8d, 0x8000
mov qword [rsp + 0x50], rsi
lea rcx, [rsp + 0x60]
xorps xmm11, xmm11
movss xmm6, dword [rbx + 0x159c]
mov dword [rbx + 0x159c], esi
call fcn.18008b050
movss dword [rbx + 0x159c], xmm6
lea r15, [0x18018da80]
test al, al
je 0x180021de0
cmp byte [0x1800fc295], sil
mov eax, dword [0x1800fc290]
movsd xmm0, qword [0x1800fc288]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1800fc294]
mov word [rsp + 0x5c], ax
movsd qword [rsp + 0x50], xmm0
je 0x180021bf1
mov r8d, esi
cmp r12d, 2
jl 0x180021bb0
movdqa xmm2, xmmword [0x1800ff470]
mov r8d, 8
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
mov eax, dword [str.1111111111111111]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x1800fc288]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rsp + 0x50], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x54]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x180021bc0
mov r8d, dword [0x18018db80]
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.180021110
mov eax, dword [0x1800fc028]
mov r8d, esi
movsd xmm0, qword [str.B_Q]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1800fc02c]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x1800fc02e]
mov byte [rsp + 0x5e], al
movsd qword [rsp + 0x50], xmm0
cmp r12d, 2
jl 0x180021d48
movdqa xmm2, xmmword [0x1800ff470]
mov r8d, 8
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
mov eax, dword [str.1111111111111111]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.B_Q]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rsp + 0x50], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x54]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0xf
jl 0x180021d60
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.180021110
mov eax, dword [str.eW__]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
movzx eax, word [0x1800fc040]
xor byte [rsp + 0x61], 0x32
xor byte [rsp + 0x62], 0x33
xor byte [rsp + 0x63], 0x34
mov word [rsp + 0x64], ax
xor al, 0x35
xor byte [rsp + 0x65], 0x36
mov byte [rsp + 0x64], al
mov byte [rsp + 0x60], 0x54
call fcn.180021110
movss xmm8, dword [0x1800ff3c0]
movaps xmm0, xmm11
movaps xmm1, xmm8
movaps xmmword [rsp + 0xd0], xmm9
call fcn.18006f070
movzx eax, byte [0x1800fc460]
mov r8d, esi
mov byte [rsp + 0x70], al
movups xmm0, xmmword [str.uWQAR]
movups xmmword [rsp + 0x60], xmm0
cmp r12d, 2
jl 0x180021f65
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rsp + 0x64]
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm7, xmmword [0x1800ff4c0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
movd xmm6, r14d
movd xmm9, edi
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm9
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm9
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180021e60
cmp r8d, 0x11
jge 0x180021fa1
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x11
jl 0x180021f70
mov rbx, qword [0x18018d8e8]
lea rdx, [rsp + 0x50]
mov r8d, 0x8000
mov qword [rsp + 0x50], rsi
lea rcx, [rsp + 0x60]
movss xmm6, dword [rbx + 0x159c]
mov dword [rbx + 0x159c], esi
call fcn.18008b050
movss dword [rbx + 0x159c], xmm6
test al, al
je 0x1800221ae
movzx eax, byte [0x1800fd3a8]
mov r8d, esi
mov byte [rbp - 0x60], al
movups xmm0, xmmword [str.jWAFZDj]
movups xmm1, xmmword [0x1800fd390]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1800fd3a0]
movsd qword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp r12d, 2
jl 0x180022165
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rsp + 0x7c]
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm7, xmmword [0x1800ff4c0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
movd xmm6, r14d
movd xmm9, edi
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm9
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm9
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x28
jl 0x180022060
cmp r8d, 0x29
jge 0x1800221a1
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x29
jl 0x180022170
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.180021110
mov eax, dword [str.rVUG6]
movaps xmm1, xmm8
mov dword [rsp + 0x60], eax
movaps xmm0, xmm11
movzx eax, word [0x1800fcb84]
mov word [rsp + 0x64], ax
call fcn.18006f070
mov rbx, qword [0x18018d8e8]
lea rdx, [rsp + 0x50]
xor byte [rsp + 0x61], 0x32
lea rcx, [rsp + 0x60]
xor byte [rsp + 0x62], 0x33
mov r8d, 0x8000
xor byte [rsp + 0x63], 0x34
movss xmm6, dword [rbx + 0x159c]
xor byte [rsp + 0x64], 0x35
xor byte [rsp + 0x65], 0x36
mov dword [rbx + 0x159c], esi
mov byte [rsp + 0x60], 0x43
mov qword [rsp + 0x50], rsi
call fcn.18008b050
movss dword [rbx + 0x159c], xmm6
test al, al
je 0x180022232
mov rcx, r15
call fcn.180021080
mov eax, dword [str.r_CM5]
movaps xmm1, xmm8
movzx r8d, byte [0x1800f6258]
movaps xmm0, xmm11
mov dword [rsp + 0x60], eax
call fcn.18006f070
mov rbx, qword [0x18018d8e8]
lea rdx, [rsp + 0x50]
xor byte [rsp + 0x61], 0x32
lea rcx, [rsp + 0x60]
xor byte [rsp + 0x62], 0x33
xor r8b, 0x35
xor byte [rsp + 0x63], 0x34
movss xmm6, dword [rbx + 0x159c]
mov byte [rsp + 0x64], r8b
mov r8d, 0x8000
mov dword [rbx + 0x159c], esi
mov byte [rsp + 0x60], 0x43
mov qword [rsp + 0x50], rsi
call fcn.18008b050
movss dword [rbx + 0x159c], xmm6
movzx r13d, al
mov rbx, qword [0x18018d8e8]
mov byte [rsp + 0x40], al
mov rcx, qword [rbx + 0x1c10]
cmp byte [rcx + 0x93], sil
jne 0x1800222dd
mov ecx, dword [rcx + 0x1b4]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.18008ce50
mov rbx, qword [0x18018d8e8]
cmp byte [0x1800fc29f], sil
mov rax, qword [str.BG_ZXD8]
mov qword [rsp + 0x50], rax
je 0x180022441
cmp r12d, 2
jl 0x180022401
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
mov eax, dword [str.1111111111111111]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x50]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
movd dword [rsp + 0x50], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x54]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
jmp 0x180022441
lea r9, [rsp + 0x50]
mov r8d, esi
nop dword [rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x180022410
mov eax, dword [rbx + 0x1da8]
cmp dword [rbx + 0x1d98], eax
jg 0x18002245a
mov dword [rbx + 0x1cb0], esi
jmp 0x180022676
mov r8, qword [rbx + 0x1c10]
lea rcx, [rsp + 0x50]
xor edx, edx
movsxd rax, dword [r8 + 0xc8]
mov r8, qword [r8 + 0xd0]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180062890
cmp dword [rbx + 0x1c5c], eax
jne 0x18002248e
mov dword [rbx + 0x1c60], eax
cmp dword [rbx + 0x1c98], eax
jne 0x18002249d
mov byte [rbx + 0x1c9c], 1
mov ecx, eax
call fcn.1800703d0
test al, al
je 0x180022676
cmp byte [0x1800fdc6b], sil
movsd xmm0, qword [str.pGG_]
mov eax, dword [0x1800fdc68]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x180022621
mov r8d, esi
cmp r12d, 2
jl 0x1800225e5
movdqa xmm2, xmmword [0x1800ff470]
mov r8d, 8
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
mov eax, dword [str.1111111111111111]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.pGG_]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rsp + 0x50], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x54]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x1800225f0
lea rdx, [0x18018dcd0]
lea rcx, [rsp + 0x50]
call fcn.18008c5b0
mov rbx, qword [0x18018d8e8]
mov rax, qword [rbx + 0x1c10]
cmp qword [rbx + 0x1dc8], rax
jne 0x18002265a
mov qword [rbx + 0x1ee8], rax
mov dword [rbx + 0x1ef0], 2
test dword [rax + 0xc], 0x1000000
je 0x18002266a
mov byte [rbx + 0x1b9e], 1
call fcn.18006e250
mov byte [rbx + 0x1b9e], sil
cmp byte [0x1800fc29f], sil
mov rax, qword [str.BG_ZXD8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rsi
je 0x1800227e1
cmp r12d, 2
jl 0x18002279f
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
mov eax, dword [str.1111111111111111]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x50]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
movd dword [rsp + 0x50], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x54]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
jmp 0x1800227e1
lea r9, [rsp + 0x50]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x1800227b0
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.18008b050
test al, al
je 0x1800229b4
cmp byte [0x1800fc29f], sil
mov rax, qword [str.BG_ZXD8]
mov qword [rsp + 0x60], rax
je 0x180022961
cmp r12d, 2
jl 0x18002291f
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
mov eax, dword [str.1111111111111111]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x60]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
movd dword [rsp + 0x60], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x64]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
jmp 0x180022961
lea r9, [rsp + 0x60]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x180022930
mov rbx, qword [0x18018d8e8]
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8, qword [rbx + 0x1c10]
movsxd rax, dword [r8 + 0xc8]
mov r8, qword [r8 + 0xd0]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180062890
cmp dword [rbx + 0x1c5c], eax
jne 0x18002299c
mov dword [rbx + 0x1c60], eax
cmp dword [rbx + 0x1c98], eax
jne 0x1800229ab
mov byte [rbx + 0x1c9c], 1
xor edx, edx
mov ecx, eax
call fcn.18006fef0
movaps xmm1, xmm8
movaps xmm0, xmm11
call fcn.18006f070
movups xmm1, xmmword [0x1800fc598]
movups xmm0, xmmword [str.w___PD]
movups xmmword [rbp - 0x78], xmm1
psrldq xmm1, 0xf
movd eax, xmm1
movups xmmword [rsp + 0x78], xmm0
test al, al
je 0x180022b71
cmp r12d, 2
jl 0x180022b2f
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rsp + 0x7c]
movdqa xmm5, xmmword [0x1800ff470]
mov edx, esi
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm7, xmmword [0x1800ff4c0]
movdqa xmmword [rsp + 0x50], xmm0
mov r8d, dword [rsp + 0x50]
movd xmm6, r14d
movd xmm8, edi
nop
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x20
jl 0x180022a30
jmp 0x180022b71
lea r9, [rsp + 0x78]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x20
jl 0x180022b40
mov rax, qword [0x18018d8e8]
lea r8, [0x18018dbb8]
mov qword [rsp + 0x38], rsi
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x30], rsi
mov r9d, 0x100
mov dword [rsp + 0x28], esi
xor edx, edx
or dword [rax + 0x1d20], 1
mov dword [rax + 0x1d24], 0x43340000
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rsi
call fcn.18008fee0
test al, al
je 0x180022bcf
lea rcx, [0x18018dbb8]
call fcn.1800631b0
mov rbx, qword [0x18018d8e8]
mov rax, qword [rbx + 0x1c10]
cmp byte [rax + 0x93], sil
jne 0x180022bff
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.18008ce50
mov rbx, qword [0x18018d8e8]
movss xmm0, dword [rbx + 0x159c]
lea rcx, str.ScrollingRegion
mov rax, qword [rbx + 0x1c10]
addss xmm0, xmm0
xor edx, edx
mov dword [rsp + 0x60], esi
addss xmm0, dword [rbx + 0x1980]
addss xmm0, dword [rbx + 0x15ac]
addss xmm0, dword [rbx + 0x15ac]
mov byte [rax + 0x90], 1
mov r8, qword [rbx + 0x1c10]
xorps xmm0, xmmword [0x1800ff610]
movsxd rax, dword [r8 + 0xc8]
mov r8, qword [r8 + 0xd0]
movss dword [rsp + 0x64], xmm0
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180062890
cmp dword [rbx + 0x1c5c], eax
jne 0x180022c78
mov dword [rbx + 0x1c60], eax
cmp dword [rbx + 0x1c98], eax
jne 0x180022c87
mov byte [rbx + 0x1c9c], 1
xor r9d, r9d
mov dword [rsp + 0x20], 0x800
lea r8, [rsp + 0x60]
mov edx, eax
lea rcx, str.ScrollingRegion
call fcn.180069360
mov rbx, qword [0x18018d8e8]
lea rcx, str.window_context
xor edx, edx
mov r8, qword [rbx + 0x1c10]
movsxd rax, dword [r8 + 0xc8]
mov r8, qword [r8 + 0xd0]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180062890
mov edi, eax
cmp dword [rbx + 0x1c5c], eax
jne 0x180022ce4
mov dword [rbx + 0x1c60], eax
cmp dword [rbx + 0x1c98], edi
jne 0x180022cf3
mov byte [rbx + 0x1c9c], 1
cmp byte [rbx + 0x42b], sil
je 0x180022d11
call fcn.18006e7b0
test al, al
je 0x180022d11
mov edx, 1
mov ecx, edi
call fcn.18006fef0
mov ecx, edi
call fcn.1800703d0
test al, al
je 0x180022dbe
mov eax, dword [str.rVUG6]
lea r9, [rsp + 0x50]
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x60]
movzx eax, word [0x1800fcb84]
xor r8d, r8d
xor byte [rsp + 0x61], 0x32
xor edx, edx
xor byte [rsp + 0x62], 0x33
xor byte [rsp + 0x63], 0x34
mov word [rsp + 0x64], ax
xor al, 0x35
xor byte [rsp + 0x65], 0x36
mov byte [rsp + 0x64], al
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x60], 0x43
call fcn.180093390
test al, al
je 0x180022d7a
mov rcx, r15
call fcn.180021080
mov rbx, qword [0x18018d8e8]
mov rax, qword [rbx + 0x1c10]
cmp qword [rbx + 0x1dc8], rax
jne 0x180022da2
mov qword [rbx + 0x1ee8], rax
mov dword [rbx + 0x1ef0], 2
test dword [rax + 0xc], 0x1000000
je 0x180022db2
mov byte [rbx + 0x1b9e], 1
call fcn.18006e250
mov byte [rbx + 0x1b9e], sil
mov rbx, qword [0x18018d8e8]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], 0xd
movss xmm1, dword [rbx + 0x15a8]
lea rcx, [rbx + 0x1d48]
movss xmm0, dword [rbx + 0x15ac]
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x58], xmm0
call fcn.180075d50
mov r9, qword [0x18018d8e8]
mov dword [rbx + 0x15a8], 0x40800000
mov dword [rbx + 0x15ac], 0x3f800000
test r13b, r13b
je 0x180022e75
cmp byte [r9 + 0x30bc], sil
jne 0x180022e75
mov rax, qword [r9 + 0x1c10]
mov byte [r9 + 0x30bc], 1
mov dword [r9 + 0x30c0], r14d
mov qword [r9 + 0x30e8], rsi
mov qword [r9 + 0x30e0], rsi
mov ecx, dword [rax + 0x188]
mov eax, dword [r9 + 0x3100]
mov dword [r9 + 0x30fc], eax
mov dword [r9 + 0x30f8], ecx
mov dword [r9 + 0x30f0], 0x7f7fffff
mov byte [r9 + 0x30f4], 1
cmp dword [0x18018db80], esi
mov r14d, esi
jle 0x18002315c
movss xmm8, dword [0x1800ff254]
mov r15, rsi
movss xmm9, dword [0x1800ff288]
mov r13d, 4
movaps xmmword [rsp + 0xc0], xmm10
movss xmm10, dword [0x1800ff268]
mov rax, qword [0x18018db88]
lea rcx, [0x18018dbb8]
mov rdi, qword [rax + r15]
mov rdx, rdi
call fcn.1800632e0
test al, al
je 0x18002312b
mov rax, qword [str.jWAFZDj88]
xor sil, sil
cmp byte [0x1800fe0ff], sil
mov qword [rsp + 0x50], rax
je 0x180023041
cmp r12d, 2
jl 0x180022fff
movdqa xmm2, xmmword [0x1800ff470]
mov eax, 0x1f
movdqa xmm4, xmmword [0x1800ff5e0]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm5, eax
mov eax, dword [str.1111111111111111]
movd xmm6, r13d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x50]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
movd dword [rsp + 0x50], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
movd xmm1, dword [rsp + 0x54]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
jmp 0x180023041
lea r9, [rsp + 0x50]
xor r8d, r8d
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x180023010
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x18002305e
movaps xmm6, xmm8
movaps xmm7, xmm8
jmp 0x180023080
mov r8d, 2
lea rdx, [0x1800f6070]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1800230e4
movaps xmm6, xmm9
movaps xmm7, xmm10
mov rbx, qword [0x18018d8e8]
lea rdx, [rsp + 0x78]
mov sil, 1
mov dword [rsp + 0x60], 0x3f800000
mov dword [rsp + 0x6c], 0x3f800000
mov dword [rsp + 0x78], 0
movups xmm0, xmmword [rbx + 0x1624]
lea rcx, [rbx + 0x1d38]
movups xmmword [rsp + 0x7c], xmm0
call fcn.180075e40
movups xmm0, xmmword [rsp + 0x60]
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm6
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm7
shufps xmm0, xmm0, 0xc9
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbx + 0x1624], xmm0
xor edx, edx
mov rcx, rdi
call fcn.18008a010
test sil, sil
je 0x18002312b
mov r9, qword [0x18018d8e8]
movsxd rax, dword [r9 + 0x1d38]
mov rcx, qword [r9 + 0x1d40]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r9 + rax*8 + 0x1624], xmm0
dec dword [r9 + 0x1d38]
jmp 0x180023132
mov r9, qword [0x18018d8e8]
inc r14d
add r15, 8
cmp r14d, dword [0x18018db80]
jl 0x180022eb1
movaps xmm10, xmmword [rsp + 0xc0]
lea r15, [0x18018da80]
movzx r13d, byte [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0xd0]
test r13b, r13b
mov r13, qword [rsp + 0x118]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x140]
je 0x1800231af
call fcn.1800748c0
mov r9, qword [0x18018d8e8]
cmp byte [0x18018dcd1], 0
jne 0x1800231d3
cmp byte [0x18018dcd0], 0
je 0x180023234
mov rax, qword [r9 + 0x1c10]
movss xmm0, dword [rax + 0x60]
comiss xmm0, dword [rax + 0x68]
jb 0x180023234
mov rcx, qword [r9 + 0x1c10]
movss xmm2, dword [0x1800ff298]
movss xmm1, dword [rcx + 0xe4]
movss xmm6, dword [rcx + 0x44]
movaps xmm0, xmm1
addss xmm1, dword [rcx + 0x10c]
maxss xmm6, dword [r9 + 0x15ac]
addss xmm1, xmm6
subss xmm0, xmm6
subss xmm1, xmm0
addss xmm1, xmm0
subss xmm1, dword [rcx + 0x14]
call fcn.18006fba0
movss xmm5, dword [rcx + 0x44]
subss xmm5, xmm6
maxss xmm11, xmm5
movss dword [rcx + 0x80], xmm11
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x100]
mov byte [0x18018dcd1], 0
movsxd rax, dword [r9 + 0x1d48]
mov rdx, qword [r9 + 0x1d50]
lea rcx, [rax + rax*2]
movsxd rax, dword [rdx + rcx*4 - 0xc]
lea r10, [rax + rax*2]
lea rax, [0x1800f6810]
cmp dword [rax + r10*4], 8
mov r8d, dword [rax + r10*4 + 8]
jne 0x1800232af
mov eax, dword [rax + r10*4 + 4]
cmp eax, 1
jne 0x180023292
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + r9 + 0x1560], eax
jmp 0x1800232af
cmp eax, 2
jne 0x1800232af
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + r9 + 0x1560], eax
mov eax, dword [rdx + rcx*4 - 4]
mov dword [r8 + r9 + 0x1564], eax
dec dword [r9 + 0x1d48]
call fcn.180069630
mov rax, qword [0x18018d8e8]
mov rax, qword [rax + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x1800232e4
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.18008ce50
mov eax, dword [0x1800fc880]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov r9d, 0x100
movzx eax, word [0x1800fc884]
mov r8, r15
xor byte [rsp + 0x61], 0x32
xor edx, edx
xor byte [rsp + 0x62], 0x33
xor byte [rsp + 0x63], 0x34
mov word [rsp + 0x64], ax
lea rax, [0x180029080]
xor byte [rsp + 0x64], 0x35
xor byte [rsp + 0x65], 0x36
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 0xe0
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x60], 0x49
mov qword [rsp + 0x50], 0
call fcn.18008fee0
test al, al
je 0x1800233da
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], 0
jne 0x180023364
add rax, r15
cmp rax, r15
jbe 0x180023388
cmp byte [rax - 1], 0x20
lea rdx, [rax - 1]
jne 0x180023388
mov rax, rdx
cmp rdx, r15
ja 0x180023376
mov byte [rax], 0
cmp byte [0x18018da80], 0
je 0x18002339f
mov rdx, r15
mov rcx, r15
call fcn.180023410
mov byte [0x18018da80], 0
call fcn.18006ead0
mov r9, qword [0x18018d8e8]
mov rax, qword [r9 + 0x1c10]
mov qword [r9 + 0x1f28], rax
mov eax, dword [rax + 0x1bc]
mov dword [r9 + 0x1f38], eax
mov dword [r9 + 0x1f3c], 0x7fffffff
jmp 0x1800233df
call fcn.18006ead0
mov r15, qword [rsp + 0x110]
call fcn.18006e250
mov rcx, qword [rbp - 0x58]
xor rcx, rsp
call fcn.1800d0db0
add rsp, 0x128
pop r14
pop rbp
ret