Function at 0x140036220
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x1400c6f10]
xor rax, rsp
mov qword [rbp + 0x1f], rax
call fcn.14005b720
cmp dword [0x1400cfff8], 0
jne 0x140036265
call fcn.140026ec0
call fcn.1400261d0
call fcn.140005bd0
call fcn.140035ac0
mov rax, qword [0x1400cff20]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x1dc0]
mov rcx, qword [rcx]
call fcn.140004940
mov rcx, qword [0x1400d2f58]
mov rbx, rax
movaps xmm0, xmmword [0x140094440]
movups xmmword [rbp - 0x19], 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 [0x140094290]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [rbp - 0x19]
movss dword [rbp - 5], xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140094290]
movss dword [rbp - 9], xmm0
call fcn.140002a40
movss xmm0, dword [0x1400942a4]
lea rdx, [rbp - 9]
movss dword [rsp + 0x28], xmm0
mov r9d, eax
movaps xmm2, xmm8
mov dword [rsp + 0x20], 0x1e
mov rcx, rbx
call fcn.140020450
mov rax, qword [0x1400d2f58]
xor edi, edi
cmp byte [rax + 0x18], dil
je 0x14003726b
mov rbx, qword [0x1400cff20]
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], r14
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
lea rcx, [rbx + 0x1d48]
mov dword [rbx + 0x1914], 0x3e851eb8
lea rdx, [rbp - 0x19]
mov dword [rbx + 0x1918], 0x3f170a3d
mov dword [rbx + 0x191c], 0x3f7ae148
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 - 0x15], xmm1
movss dword [rbp - 0x11], xmm0
mov dword [rbp - 0x19], 1
call fcn.140014a20
xor edx, edx
mov dword [rbx + 0x1564], 0x41200000
lea r8d, [rdi + 0x2a]
mov dword [rbx + 0x1568], 0x41200000
lea rcx, str.GayLorant
call fcn.14000b360
lea rcx, [0x14008daaa]
call fcn.140028ab0
cmp byte [0x1400940a5], dil
lea esi, [rdi + 5]
mov eax, dword [str.___1F]
lea r14d, [rdi + 0x1f]
movsd xmm0, qword [str.TZQ_]
mov r10, qword [0x1400d2f58]
mov ebx, dword [0x1400c6f20]
mov dword [rbp - 0x11], eax
movzx eax, word [0x1400940a4]
mov word [rbp - 0xd], ax
movsd qword [rbp - 0x19], xmm0
je 0x140036c74
mov r8d, edi
cmp ebx, 2
jl 0x140036c33
movdqa xmm2, xmmword [0x1400943d0]
mov r8d, 8
movdqa xmm3, xmmword [0x1400943e0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140094480]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, r14d
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.TZQ_]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp - 0x19], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400943f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp - 0x15]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
xorps xmm2, xmm0
movd dword [rbp - 0x15], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x140036c40
lea rdx, [r10 + 0x1a]
lea rcx, [rbp - 0x19]
call fcn.140029ec0
mov rax, qword [0x1400d2f58]
cmp byte [rax + 0x1a], 1
jne 0x140036c99
mov byte [rax + 0x1b], dil
mov rax, qword [0x1400d2f58]
cmp byte [rax + 0x1a], dil
jne 0x140036ca9
cmp byte [rax + 0x1b], dil
je 0x14003705d
movzx ecx, word [0x140094028]
lea rdx, [rax + 0x22]
movzx eax, byte [0x14009402a]
movsd xmm0, qword [0x140094020]
xor al, 0x43
movsd qword [rbp - 0x19], xmm0
xor byte [rbp - 0x18], 0x3a
xor byte [rbp - 0x17], 0x3b
xor byte [rbp - 0x16], 0x3c
xor byte [rbp - 0x15], 0x3d
xor byte [rbp - 0x14], 0x3e
xor byte [rbp - 0x13], 0x3f
xor byte [rbp - 0x12], 0x40
mov word [rbp - 0x11], cx
xor cl, 0x41
xor byte [rbp - 0x10], 0x42
mov byte [rbp - 0x11], cl
lea rcx, [rbp - 0x19]
mov byte [rbp - 0x19], 0x46
mov byte [rbp - 0xf], al
call fcn.140029ec0
lea rcx, [0x14008daaa]
call fcn.140028ab0
cmp byte [0x14009417b], dil
movsd xmm0, qword [str.jWTSIV]
mov eax, dword [0x140094178]
movsd qword [rbp - 0x19], xmm0
mov dword [rbp - 0x11], eax
je 0x140036e94
mov r8d, edi
cmp ebx, 2
jl 0x140036e4b
movdqa xmm2, xmmword [0x1400943d0]
mov r8d, 8
movdqa xmm3, xmmword [0x1400943e0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140094480]
movdqa xmm0, xmm2
mov eax, dword [str.9999999999999999]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, r14d
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
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.jWTSIV]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x19], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
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 - 0x15]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x15], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x19]
add r9, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x140036e60
movzx ecx, byte [0x140093ff0]
lea rax, [rbp - 0x19]
movsd xmm0, qword [str.jWTSIWQA]
lea r9, [rbp + 0xf]
mov r8, qword [0x1400d2f58]
xor cl, 0x41
movsd qword [rbp - 9], xmm0
add r8, 8
xor byte [rbp - 8], 0x3a
xor byte [rbp - 7], 0x3b
xor byte [rbp - 6], 0x3c
xor byte [rbp - 5], 0x3d
xor byte [rbp - 4], 0x3e
xor byte [rbp - 3], 0x3f
xor byte [rbp - 2], 0x40
mov qword [rsp + 0x28], rax
lea rax, [rbp + 7]
mov byte [rbp - 1], cl
lea rcx, [rbp - 9]
mov byte [rbp - 9], 0x53
mov dword [rbp + 7], 0x3f800000
mov dword [rbp + 0xf], edi
mov qword [rsp + 0x20], rax
call fcn.14002a750
lea rcx, [0x14008daaa]
call fcn.140028ab0
movzx eax, byte [0x1400940f0]
movsd xmm0, qword [0x1400940e8]
xor al, 0x41
mov r8, qword [0x1400d2f58]
movsd qword [rbp - 0x19], xmm0
add r8, 0xc
xor byte [rbp - 0x18], 0x3a
xor byte [rbp - 0x17], 0x3b
xor byte [rbp - 0x16], 0x3c
xor byte [rbp - 0x15], 0x3d
xor byte [rbp - 0x14], 0x3e
xor byte [rbp - 0x13], 0x3f
xor byte [rbp - 0x12], 0x40
cmp byte [0x14009418f], dil
mov byte [rbp - 0x11], al
mov eax, dword [0x14009418c]
mov dword [rbp + 7], eax
mov byte [rbp - 0x19], 0x46
je 0x140037034
cmp ebx, 2
jl 0x140036ff9
movdqa xmm3, xmmword [0x1400943d0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140094480]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140094480]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400943f0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp + 7], xmm2
jmp 0x140037034
lea r10, [rbp + 7]
mov r9d, edi
mov eax, 0xa0a0a0a1
lea r10, [r10 + 1]
imul r9d
add edx, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x39
xor byte [r10 - 1], al
cmp r9d, 4
jl 0x140037000
lea rax, [rbp - 0x19]
mov dword [rbp + 0xf], 0x43960000
mov qword [rsp + 0x28], rax
lea r9, [rbp - 9]
lea rax, [rbp + 0xf]
mov dword [rbp - 9], edi
lea rcx, [rbp + 7]
mov qword [rsp + 0x20], rax
call fcn.14002a750
lea rcx, [0x14008daaa]
call fcn.140028ab0
mov rdx, qword [0x1400d2f58]
lea rcx, [rbp - 0x19]
movsd xmm0, qword [0x140094160]
add rdx, 0x1d
cmp byte [0x140094169], dil
movzx eax, word [0x140094168]
movsd qword [rbp - 0x19], xmm0
mov word [rbp - 0x11], ax
je 0x1400370c1
xor byte [rbp - 0x18], 0x3a
xor byte [rbp - 0x17], 0x3b
xor byte [rbp - 0x16], 0x3c
xor byte [rbp - 0x15], 0x3d
xor byte [rbp - 0x14], 0x3e
xor byte [rbp - 0x13], 0x3f
xor byte [rbp - 0x12], 0x40
xor byte [rbp - 0x11], 0x41
xor byte [rbp - 0x10], 0x42
mov byte [rbp - 0x19], 0x56
call fcn.140029ec0
movzx ecx, byte [0x140093ff8]
mov rdx, qword [0x1400d2f58]
xor cl, 0x3d
mov eax, dword [str.q_ZX]
add rdx, 0x1e
mov dword [rbp - 9], eax
xor byte [rbp - 8], 0x3a
xor byte [rbp - 7], 0x3b
xor byte [rbp - 6], 0x3c
mov byte [rbp - 5], cl
lea rcx, [rbp - 9]
mov byte [rbp - 9], 0x48
call fcn.140029ec0
movzx ecx, byte [0x140094198]
movsd xmm0, qword [0x140094190]
xor cl, 0x41
mov rdx, qword [0x1400d2f58]
movsd qword [rbp - 0x19], xmm0
add rdx, r14
xor byte [rbp - 0x18], 0x3a
xor byte [rbp - 0x17], 0x3b
xor byte [rbp - 0x16], 0x3c
xor byte [rbp - 0x15], 0x3d
xor byte [rbp - 0x14], 0x3e
xor byte [rbp - 0x13], 0x3f
xor byte [rbp - 0x12], 0x40
mov byte [rbp - 0x11], cl
lea rcx, [rbp - 0x19]
mov byte [rbp - 0x19], 0x53
call fcn.140029ec0
cmp byte [0x14009419f], dil
mov eax, dword [str.UC_e]
mov r10, qword [0x1400d2f58]
mov dword [rbp + 7], eax
je 0x140037244
cmp ebx, 2
jl 0x1400371fb
movdqa xmm3, xmmword [0x1400943d0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140094480]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140094480]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400943f0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140094400]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp + 7], xmm2
jmp 0x140037244
lea r9, [rbp + 7]
mov r8d, edi
nop dword [rax]
nop word [rax + rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x140037210
lea rdx, [r10 + 0x20]
lea rcx, [rbp + 7]
call fcn.140029ec0
call fcn.140008b00
call fcn.14000d730
mov r14, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
call fcn.140008020
mov rcx, qword [0x1400d2f38]
lea r8, [rbp + 0x17]
lea rdx, [rbp + 0x1b]
call fcn.14005a310
mov r9d, dword [rbp + 0x17]
xor edx, edx
mov r8d, dword [rbp + 0x1b]
xor ecx, ecx
call qword [sym.imp.OPENGL32.dll_glViewport]
mov ecx, 0x4000
call qword [sym.imp.OPENGL32.dll_glClear]
mov rax, qword [0x1400cff20]
mov rcx, qword [rax + 0x1dc0]
mov rcx, qword [rcx]
add rcx, 0x40
cmp byte [rcx], dil
cmove rcx, rdi
call fcn.1400267a0
mov rcx, qword [0x1400d2f38]
call fcn.140062540
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14006f220
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rbp
ret