Function at 0x140036260
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movaps xmmword [rax - 0x18], xmm7
movaps xmmword [rax - 0x28], xmm8
mov rax, qword [0x1400c6f40]
xor rax, rsp
mov qword [rbp + 0x2f], rax
call fcn.14005b580
cmp dword [0x1400d0068], 0
jne 0x1400362a1
call fcn.140026de0
call fcn.1400260f0
call fcn.140005bc0
call fcn.140035b00
mov rax, qword [0x1400cff90]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x1dc0]
mov rcx, qword [rcx]
call fcn.140004940
mov rcx, qword [0x1400d2fc8]
mov rbx, rax
movaps xmm0, xmmword [0x140094440]
movups xmmword [rbp - 9], xmm0
movss xmm8, dword [rcx + 0xc]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [0x140094294]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [rbp - 9]
movss dword [rbp + 0xb], xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140094294]
movss dword [rbp + 7], xmm0
call fcn.140002a40
movss xmm0, dword [0x1400942a8]
lea rdx, [rbp + 7]
movss dword [rsp + 0x28], xmm0
mov r9d, eax
movaps xmm2, xmm8
mov dword [rsp + 0x20], 0x1e
mov rcx, rbx
call fcn.140020340
mov rax, qword [0x1400d2fc8]
xor edi, edi
cmp byte [rax + 0x18], dil
je 0x140037239
mov rbx, qword [0x1400cff90]
mov dword [rbx + 0x1624], 0x3f800000
mov dword [rbx + 0x1628], 0x3f800000
mov dword [rbx + 0x162c], 0x3f800000
mov dword [rbx + 0x1630], 0x3f800000
mov dword [rbx + 0x1634], 0x3f000000
mov dword [rbx + 0x1638], 0x3f000000
mov dword [rbx + 0x163c], 0x3f000000
mov dword [rbx + 0x1640], 0x3f800000
mov dword [rbx + 0x1644], 0x3d75c28f
mov dword [rbx + 0x1648], 0x3d75c28f
mov dword [rbx + 0x164c], 0x3d75c28f
mov qword [rbx + 0x1650], 0x3f70a3d7
mov qword [rbx + 0x1658], rdi
mov dword [rbx + 0x1660], edi
mov dword [rbx + 0x1664], 0x3da3d70a
mov dword [rbx + 0x1668], 0x3da3d70a
mov dword [rbx + 0x166c], 0x3da3d70a
mov dword [rbx + 0x1670], 0x3f70a3d7
mov dword [rbx + 0x1674], 0x3d75c28f
mov dword [rbx + 0x1678], 0x3d75c28f
mov dword [rbx + 0x167c], 0x3d75c28f
mov qword [rbx + 0x1680], 0x3f70a3d7
mov qword [rbx + 0x1688], rdi
mov dword [rbx + 0x1690], edi
mov dword [rbx + 0x1694], 0x3e23d70a
mov dword [rbx + 0x1698], 0x3e947ae1
mov dword [rbx + 0x169c], 0x3ef5c28f
mov dword [rbx + 0x16a0], 0x3f0a3d71
mov dword [rbx + 0x16a4], 0x3e851eb8
mov dword [rbx + 0x16a8], 0x3f170a3d
mov dword [rbx + 0x16ac], 0x3f7ae148
mov dword [rbx + 0x16b0], 0x3ecccccd
mov dword [rbx + 0x16b4], 0x3e851eb8
mov dword [rbx + 0x16b8], 0x3f170a3d
mov dword [rbx + 0x16bc], 0x3f7ae148
mov dword [rbx + 0x16c0], 0x3f2b851f
mov dword [rbx + 0x16c4], 0x3d23d70a
mov dword [rbx + 0x16c8], 0x3d23d70a
mov dword [rbx + 0x16cc], 0x3d23d70a
mov dword [rbx + 0x16d0], 0x3f800000
mov dword [rbx + 0x16d4], 0x3e23d70a
mov dword [rbx + 0x16d8], 0x3e947ae1
mov dword [rbx + 0x16dc], 0x3ef5c28f
mov qword [rbx + 0x16e0], 0x3f800000
mov qword [rbx + 0x16e8], rdi
mov dword [rbx + 0x16f0], 0x3f028f5c
mov dword [rbx + 0x16f4], 0x3e0f5c29
mov dword [rbx + 0x16f8], 0x3e0f5c29
mov dword [rbx + 0x16fc], 0x3e0f5c29
mov dword [rbx + 0x1700], 0x3f800000
mov dword [rbx + 0x1704], 0x3ca3d70a
mov dword [rbx + 0x1708], 0x3ca3d70a
mov dword [rbx + 0x170c], 0x3ca3d70a
mov dword [rbx + 0x1710], 0x3f07ae14
mov dword [rbx + 0x1714], 0x3e9eb852
mov dword [rbx + 0x1718], 0x3e9eb852
mov dword [rbx + 0x171c], 0x3e9eb852
mov dword [rbx + 0x1720], 0x3f800000
mov dword [rbx + 0x1724], 0x3ed1eb85
mov dword [rbx + 0x1728], 0x3ed1eb85
mov dword [rbx + 0x172c], 0x3ed1eb85
mov dword [rbx + 0x1730], 0x3f800000
mov dword [rbx + 0x1734], 0x3f028f5c
mov dword [rbx + 0x1738], 0x3f028f5c
mov dword [rbx + 0x173c], 0x3f028f5c
mov dword [rbx + 0x1740], 0x3f800000
mov dword [rbx + 0x1744], 0x3e851eb8
mov dword [rbx + 0x1748], 0x3f170a3d
mov dword [rbx + 0x174c], 0x3f7ae148
mov dword [rbx + 0x1750], 0x3f800000
mov dword [rbx + 0x1754], 0x3e75c28f
mov dword [rbx + 0x1758], 0x3f051eb8
mov dword [rbx + 0x175c], 0x3f6147ae
mov dword [rbx + 0x1760], 0x3f800000
mov dword [rbx + 0x1764], 0x3e851eb8
mov dword [rbx + 0x1768], 0x3f170a3d
mov dword [rbx + 0x176c], 0x3f7ae148
mov dword [rbx + 0x1770], 0x3f800000
mov dword [rbx + 0x1774], 0x3e851eb8
mov dword [rbx + 0x1778], 0x3f170a3d
mov dword [rbx + 0x177c], 0x3f7ae148
mov dword [rbx + 0x1780], 0x3ecccccd
mov dword [rbx + 0x1784], 0x3e851eb8
mov dword [rbx + 0x1788], 0x3f170a3d
mov dword [rbx + 0x178c], 0x3f7ae148
mov dword [rbx + 0x1790], 0x3f800000
mov dword [rbx + 0x1794], 0x3d75c28f
mov dword [rbx + 0x1798], 0x3f07ae14
mov dword [rbx + 0x179c], 0x3f7ae148
mov dword [rbx + 0x17a0], 0x3f800000
mov dword [rbx + 0x17a4], 0x3e851eb8
mov dword [rbx + 0x17a8], 0x3f170a3d
mov dword [rbx + 0x17ac], 0x3f7ae148
mov dword [rbx + 0x17b0], 0x3e9eb852
mov dword [rbx + 0x17b4], 0x3e851eb8
mov dword [rbx + 0x17b8], 0x3f170a3d
mov dword [rbx + 0x17bc], 0x3f7ae148
mov dword [rbx + 0x17c0], 0x3f4ccccd
mov dword [rbx + 0x17c4], 0x3e851eb8
mov dword [rbx + 0x17c8], 0x3f170a3d
mov dword [rbx + 0x17cc], 0x3f7ae148
mov dword [rbx + 0x17d0], 0x3f800000
mov dword [rbx + 0x17d4], 0x3e23d70a
mov dword [rbx + 0x17d8], 0x3e947ae1
mov dword [rbx + 0x17dc], 0x3ef5c28f
mov dword [rbx + 0x17e0], 0x3f800000
mov dword [rbx + 0x17e4], 0x3dcccccd
mov dword [rbx + 0x17e8], 0x3ecccccd
mov dword [rbx + 0x17ec], 0x3f400000
mov dword [rbx + 0x17f0], 0x3f47ae14
mov dword [rbx + 0x17f4], 0x3dcccccd
mov dword [rbx + 0x17f8], 0x3ecccccd
mov dword [rbx + 0x17fc], 0x3f400000
mov dword [rbx + 0x1800], 0x3f800000
mov dword [rbx + 0x1804], 0x3e851eb8
mov dword [rbx + 0x1808], 0x3f170a3d
mov dword [rbx + 0x180c], 0x3f7ae148
mov dword [rbx + 0x1810], 0x3e4ccccd
mov dword [rbx + 0x1814], 0x3e851eb8
mov dword [rbx + 0x1818], 0x3f170a3d
mov dword [rbx + 0x181c], 0x3f7ae148
mov dword [rbx + 0x1820], 0x3f2b851f
mov dword [rbx + 0x1824], 0x3e851eb8
mov dword [rbx + 0x1828], 0x3f170a3d
mov dword [rbx + 0x182c], 0x3f7ae148
mov dword [rbx + 0x1830], 0x3f733333
movups xmm0, xmmword [rbx + 0x17b4]
movups xmmword [rbx + 0x1844], xmm0
mov dword [rbx + 0x1884], 0x3f1c28f6
mov dword [rbx + 0x1888], 0x3f1c28f6
mov dword [rbx + 0x188c], 0x3f1c28f6
mov dword [rbx + 0x1890], 0x3f800000
mov dword [rbx + 0x1894], 0x3f800000
mov dword [rbx + 0x1898], 0x3edc28f6
mov dword [rbx + 0x189c], 0x3eb33333
mov dword [rbx + 0x18a0], 0x3f800000
mov dword [rbx + 0x18a4], 0x3f666666
mov qword [rbx + 0x18a8], 0x3f333333
mov dword [rbx + 0x18b0], 0x3f800000
mov dword [rbx + 0x18b4], 0x3f800000
mov qword [rbx + 0x18b8], 0x3f19999a
mov dword [rbx + 0x18c0], 0x3f800000
mov dword [rbx + 0x18c4], 0x3e428f5c
mov dword [rbx + 0x18c8], 0x3e428f5c
mov dword [rbx + 0x18cc], 0x3e4ccccd
mov dword [rbx + 0x18d0], 0x3f800000
mov dword [rbx + 0x18d4], 0x3e9eb852
mov dword [rbx + 0x18d8], 0x3e9eb852
mov dword [rbx + 0x18dc], 0x3eb33333
mov dword [rbx + 0x18e0], 0x3f800000
mov dword [rbx + 0x18e4], 0x3e6b851f
mov dword [rbx + 0x18e8], 0x3e6b851f
mov dword [rbx + 0x18ec], 0x3e800000
mov qword [rbx + 0x18f0], 0x3f800000
mov qword [rbx + 0x18f8], rdi
mov dword [rbx + 0x1900], edi
mov dword [rbx + 0x1904], 0x3f800000
mov dword [rbx + 0x1908], 0x3f800000
mov dword [rbx + 0x190c], 0x3f800000
mov dword [rbx + 0x1910], 0x3d75c28f
mov dword [rbx + 0x1914], 0x3e851eb8
mov dword [rbx + 0x1918], 0x3f170a3d
lea rcx, [rbx + 0x1d48]
mov dword [rbx + 0x191c], 0x3f7ae148
lea rdx, [rbp - 9]
mov dword [rbx + 0x1920], 0x3eb33333
mov dword [rbx + 0x1924], 0x3f800000
mov qword [rbx + 0x1928], 0x3f800000
mov dword [rbx + 0x1930], 0x3f666666
mov dword [rbx + 0x1934], 0x3e851eb8
mov dword [rbx + 0x1938], 0x3f170a3d
mov dword [rbx + 0x193c], 0x3f7ae148
mov dword [rbx + 0x1940], 0x3f800000
mov dword [rbx + 0x1944], 0x3f800000
mov dword [rbx + 0x1948], 0x3f800000
mov dword [rbx + 0x194c], 0x3f800000
mov dword [rbx + 0x1950], 0x3f333333
mov dword [rbx + 0x1954], 0x3f4ccccd
mov dword [rbx + 0x1958], 0x3f4ccccd
mov dword [rbx + 0x195c], 0x3f4ccccd
mov dword [rbx + 0x1960], 0x3e4ccccd
mov dword [rbx + 0x1964], 0x3f4ccccd
mov dword [rbx + 0x1968], 0x3f4ccccd
mov dword [rbx + 0x196c], 0x3f4ccccd
mov dword [rbx + 0x1970], 0x3eb33333
or dword [rbx + 0x1cb0], 2
mov dword [rbx + 0x1cd0], 0x43700000
mov dword [rbx + 0x1cd4], 0x43b40000
mov dword [rbx + 0x1cb8], 1
movss xmm1, dword [rbx + 0x1564]
movss xmm0, dword [rbx + 0x1568]
movss dword [rbp - 5], xmm1
movss dword [rbp - 1], xmm0
mov dword [rbp - 9], 1
call fcn.140014990
xor edx, edx
mov dword [rbx + 0x1564], 0x41200000
lea r8d, [rdi + 0x2a]
mov dword [rbx + 0x1568], 0x41200000
lea rcx, str.GayLorant
call fcn.14000b340
lea rcx, [0x14008daaa]
call fcn.1400289f0
cmp byte [0x14009421d], dil
mov eax, dword [0x140094218]
movsd xmm0, qword [str.W_YPX]
mov r10, qword [0x1400d2fc8]
mov ebx, dword [0x1400c6f90]
mov dword [rbp - 1], eax
movzx eax, word [0x14009421c]
mov word [rbp + 3], ax
movsd qword [rbp - 9], xmm0
je 0x140036c91
mov r8d, edi
cmp ebx, 2
jl 0x140036c4b
movdqa xmm2, xmmword [0x1400943d0]
mov r8d, 8
movdqa xmm4, xmmword [0x140094450]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1400943e0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.W_YPX]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp - 9], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp - 5]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
xorps xmm2, xmm0
movd dword [rbp - 5], xmm2
movsxd rax, r8d
lea r9, [rbp - 9]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x140036c60
lea rdx, [r10 + 0x1a]
lea rcx, [rbp - 9]
call fcn.140029e00
mov rax, qword [0x1400d2fc8]
cmp byte [rax + 0x1a], 1
jne 0x140036cb6
mov byte [rax + 0x1b], dil
mov rax, qword [0x1400d2fc8]
cmp byte [rax + 0x1a], dil
jne 0x140036cc6
cmp byte [rax + 0x1b], dil
je 0x14003705a
movzx ecx, word [0x140094168]
lea rdx, [rax + 0x22]
movzx eax, byte [0x14009416a]
movsd xmm0, qword [str.VLe]
xor al, 0x42
movsd qword [rbp - 9], xmm0
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
xor byte [rbp - 2], 0x3f
mov word [rbp - 1], cx
xor cl, 0x40
xor byte [rbp], 0x41
mov byte [rbp - 1], cl
lea rcx, [rbp - 9]
mov byte [rbp - 9], 0x46
mov byte [rbp + 1], al
call fcn.140029e00
lea rcx, [0x14008daaa]
call fcn.1400289f0
cmp byte [0x1400941a3], dil
movsd xmm0, qword [str.kTUTHU]
mov eax, dword [str.ns_C]
movsd qword [rbp - 9], xmm0
mov dword [rbp - 1], eax
je 0x140036ea1
mov r8d, edi
cmp ebx, 2
jl 0x140036e5b
movdqa xmm2, xmmword [0x1400943d0]
mov r8d, 8
movdqa xmm4, xmmword [0x140094450]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1400943e0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.kTUTHU]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 9], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
movd xmm1, dword [rbp - 5]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 5], xmm2
movsxd rax, r8d
lea r9, [rbp - 9]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x140036e70
movzx ecx, byte [0x140094088]
lea rax, [rbp - 9]
movsd xmm0, qword [str.kTUTHTPX_]
lea r9, [rbp + 0x1f]
mov r8, qword [0x1400d2fc8]
xor cl, 0x40
movsd qword [rbp + 7], xmm0
add r8, 8
xor byte [rbp + 8], 0x39
xor byte [rbp + 9], 0x3a
xor byte [rbp + 0xa], 0x3b
xor byte [rbp + 0xb], 0x3c
xor byte [rbp + 0xc], 0x3d
xor byte [rbp + 0xd], 0x3e
xor byte [rbp + 0xe], 0x3f
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x17]
mov byte [rbp + 0xf], cl
lea rcx, [rbp + 7]
mov byte [rbp + 7], 0x53
mov dword [rbp + 0x17], 0x3f800000
mov dword [rbp + 0x1f], edi
mov qword [rsp + 0x20], rax
call fcn.14002a690
lea rcx, [0x14008daaa]
call fcn.1400289f0
movzx eax, byte [0x140094098]
movsd xmm0, qword [str.vle]
xor al, 0x40
mov r8, qword [0x1400d2fc8]
movsd qword [rbp - 9], xmm0
add r8, 0xc
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
xor byte [rbp - 2], 0x3f
cmp byte [0x140094193], dil
mov byte [rbp - 1], al
mov eax, dword [0x140094190]
mov dword [rbp + 0x17], eax
mov byte [rbp - 9], 0x46
je 0x140037031
cmp ebx, 2
jl 0x140036ff7
movdqa xmm3, xmmword [0x1400943d0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140094450]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140094450]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp + 0x17], xmm2
jmp 0x140037031
lea r10, [rbp + 0x17]
mov r9d, edi
nop
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x38
xor byte [r10 - 1], al
cmp r9d, 4
jl 0x140037000
lea rax, [rbp - 9]
mov dword [rbp + 0x1f], 0x43960000
mov qword [rsp + 0x28], rax
lea r9, [rbp + 7]
lea rax, [rbp + 0x1f]
mov dword [rbp + 7], edi
lea rcx, [rbp + 0x17]
mov qword [rsp + 0x20], rax
call fcn.14002a690
lea rcx, [0x14008daaa]
call fcn.1400289f0
mov rdx, qword [0x1400d2fc8]
lea rcx, [rbp - 9]
movsd xmm0, qword [str.nPIe]
add rdx, 0x1d
cmp byte [0x140094159], dil
movzx eax, word [0x140094158]
movsd qword [rbp - 9], xmm0
mov word [rbp - 1], ax
je 0x1400370be
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
xor byte [rbp - 2], 0x3f
xor byte [rbp - 1], 0x40
xor byte [rbp], 0x41
mov byte [rbp - 9], 0x56
call fcn.140029e00
movzx ecx, byte [0x1400940a0]
mov rdx, qword [0x1400d2fc8]
xor cl, 0x3c
mov eax, dword [str.p___]
add rdx, 0x1e
mov dword [rbp + 7], eax
xor byte [rbp + 8], 0x39
xor byte [rbp + 9], 0x3a
xor byte [rbp + 0xa], 0x3b
mov byte [rbp + 0xb], cl
lea rcx, [rbp + 7]
mov byte [rbp + 7], 0x48
call fcn.140029e00
movzx ecx, byte [0x140094240]
movsd xmm0, qword [str.kR_WYIQQ_]
xor cl, 0x40
mov rdx, qword [0x1400d2fc8]
movsd qword [rbp - 9], xmm0
add rdx, 0x1f
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
xor byte [rbp - 2], 0x3f
mov byte [rbp - 1], cl
lea rcx, [rbp - 9]
mov byte [rbp - 9], 0x53
call fcn.140029e00
cmp byte [0x1400940a7], dil
mov eax, dword [str.zVB_HXOHY]
mov r10, qword [0x1400d2fc8]
mov dword [rbp + 0x17], eax
je 0x140037222
cmp ebx, 2
jl 0x1400371ea
movdqa xmm3, xmmword [0x1400943d0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140094450]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140094450]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp + 0x17], xmm2
jmp 0x140037222
lea r9, [rbp + 0x17]
mov r8d, edi
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x1400371f1
lea rdx, [r10 + 0x20]
lea rcx, [rbp + 0x17]
call fcn.140029e00
call fcn.140008b00
call fcn.14000d6d0
call fcn.140008030
mov rcx, qword [0x1400d2fa8]
lea r8, [rbp + 0x27]
lea rdx, [rbp + 0x2b]
call fcn.14005a170
mov r9d, dword [rbp + 0x27]
xor edx, edx
mov r8d, dword [rbp + 0x2b]
xor ecx, ecx
call qword [sym.imp.OPENGL32.dll_glViewport]
mov ecx, 0x4000
call qword [sym.imp.OPENGL32.dll_glClear]
mov rax, qword [0x1400cff90]
mov rcx, qword [rax + 0x1dc0]
mov rcx, qword [rcx]
add rcx, 0x40
cmp byte [rcx], dil
cmove rcx, rdi
call fcn.1400266c0
mov rcx, qword [0x1400d2fa8]
call fcn.1400623a0
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14006f080
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
movaps xmm7, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret