Function at 0x180019d20
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x240
movsd xmm0, qword [str.Q_ZX]
xor edi, edi
mov r8, qword [0x18021d8c8]
mov r12d, 0x68
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movsd qword [rbp - 0x50], xmm0
xor word [rbp - 0x4e], 0x3a
xor word [rbp - 0x4c], 0x3b
xor word [rbp - 0x4a], 0x3c
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movzx eax, word [0x1800f8900]
xor ax, 0x3d
mov word [rbp - 0x50], r12w
mov word [rbp - 0x48], ax
mov qword [rbp + 0x80], rdi
test r8, r8
je 0x180019dd9
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x180019dc2
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x80]
call rax
mov r8, qword [0x18021d8c8]
movups xmm3, xmmword [0x1800f88b8]
mov rax, qword [rbp + 0x80]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov ebx, dword [0x18011e090]
mov qword [0x18021dd60], rax
pextrw eax, xmm3, 7
movups xmmword [rbp + 0xc8], xmm3
test ax, ax
je 0x180019f58
mov r9d, edi
cmp ebx, 2
jl 0x180019f0c
movdqa xmm2, xmm5
movdqa xmm0, xmm5
punpckldq xmm2, xmm5
pmuldq xmm2, xmm6
punpckhdq xmm0, xmm5
pmuldq xmm0, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm5
paddd xmm2, xmm5
psrad xmm2, 5
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm7
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm4
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
paddw xmm2, xmm8
punpckhdq xmm0, xmm4
xorps xmm2, xmm1
pmuldq xmm0, xmm6
movq qword [rbp + 0xc8], xmm2
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm4
paddd xmm2, xmm4
psrad xmm2, 5
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm7
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0xd0]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm8
xorps xmm2, xmm0
movq qword [rbp + 0xd0], xmm2
jmp 0x180019f58
lea r10, [rbp + 0xc8]
nop dword [rax]
nop word [rax + rax]
mov ecx, r9d
lea r10, [r10 + 2]
mov eax, 0x1f7047dd
mul r9d
mov eax, 1
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x39
add cx, r9w
inc r9d
xor word [r10 - 2], cx
cmp r9d, 8
jl 0x180019f20
mov qword [rbp + 0x88], rdi
test r8, r8
je 0x180019fd1
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x180019f8e
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x88]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x88]
mov esi, 0x63
mov ecx, dword [0x1800f8878]
movups xmm0, xmmword [0x1800f8868]
mov dword [rbp], ecx
xor cx, 0x41
xor word [rbp + 2], 0x42
movups xmmword [rbp - 0x10], xmm0
xor word [rbp - 0xe], 0x3a
xor word [rbp - 0xc], 0x3b
xor word [rbp - 0xa], 0x3c
xor word [rbp - 8], 0x3d
xor word [rbp - 6], 0x3e
xor word [rbp - 4], 0x3f
xor word [rbp - 2], 0x40
mov qword [0x18021dd68], rax
movzx eax, word [0x1800f887c]
xor ax, 0x43
mov word [rbp - 0x10], si
mov word [rbp], cx
mov word [rbp + 4], ax
mov qword [rbp + 0x98], rdi
test r8, r8
je 0x18001a0b1
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a071
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x98]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x98]
mov ecx, dword [0x1800f88a0]
movups xmm0, xmmword [str.ZVZJT_S_]
mov dword [rbp + 0x18], ecx
xor cx, 0x41
xor word [rbp + 0x1a], 0x42
movups xmmword [rbp + 8], xmm0
xor word [rbp + 0xa], 0x3a
xor word [rbp + 0xc], 0x3b
xor word [rbp + 0xe], 0x3c
xor word [rbp + 0x10], 0x3d
xor word [rbp + 0x12], 0x3e
xor word [rbp + 0x14], 0x3f
xor word [rbp + 0x16], 0x40
mov qword [0x18021dd70], rax
movzx eax, word [0x1800f88a4]
xor ax, 0x43
mov word [rbp + 8], si
mov word [rbp + 0x18], cx
mov word [rbp + 0x1c], ax
mov qword [rbp + 0x90], rdi
test r8, r8
je 0x18001a18c
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a14c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x90]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x90]
mov r14d, 0x75
mov ecx, dword [0x1800f8820]
movups xmm0, xmmword [0x1800f8810]
mov dword [rbp + 0x30], ecx
xor cx, 0x41
xor word [rbp + 0x32], 0x42
movups xmmword [rbp + 0x20], xmm0
xor word [rbp + 0x22], 0x3a
xor word [rbp + 0x24], 0x3b
xor word [rbp + 0x26], 0x3c
xor word [rbp + 0x28], 0x3d
xor word [rbp + 0x2a], 0x3e
xor word [rbp + 0x2c], 0x3f
xor word [rbp + 0x2e], 0x40
mov qword [0x18021dd78], rax
movzx eax, word [0x1800f8824]
xor ax, 0x43
mov word [rbp + 0x20], r14w
mov word [rbp + 0x30], cx
mov word [rbp + 0x34], ax
mov qword [rbp + 0xc0], rdi
test r8, r8
je 0x18001a26e
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a22e
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xc0]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0xc0]
mov r15d, 0x6c
mov ecx, dword [0x1800f8838]
movups xmm0, xmmword [0x1800f8828]
mov dword [rbp + 0x48], ecx
xor cx, 0x41
xor word [rbp + 0x4a], 0x42
movups xmmword [rbp + 0x38], xmm0
xor word [rbp + 0x3a], 0x3a
xor word [rbp + 0x3c], 0x3b
xor word [rbp + 0x3e], 0x3c
xor word [rbp + 0x40], 0x3d
xor word [rbp + 0x42], 0x3e
xor word [rbp + 0x44], 0x3f
xor word [rbp + 0x46], 0x40
mov qword [0x18021dd80], rax
movzx eax, word [0x1800f883c]
xor ax, 0x43
mov word [rbp + 0x38], r15w
mov word [rbp + 0x48], cx
mov word [rbp + 0x4c], ax
mov qword [rbp + 0x180], rdi
test r8, r8
je 0x18001a350
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a310
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x180]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x180]
mov ecx, 0x48
movsd xmm0, qword [str.q_UXbr_]
movsd qword [rsp + 0x70], xmm0
xor word [rsp + 0x72], 0x3a
xor word [rsp + 0x74], 0x3b
xor word [rsp + 0x76], 0x3c
mov qword [0x18021dd88], rax
mov eax, dword [0x1800f88f0]
mov dword [rsp + 0x78], eax
movzx eax, word [0x1800f88f4]
xor word [rsp + 0x78], 0x3d
xor ax, 0x3f
xor word [rsp + 0x7a], 0x3e
mov word [rsp + 0x70], cx
mov word [rsp + 0x7c], ax
mov qword [rbp + 0xb8], rdi
test r8, r8
je 0x18001a425
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a3e4
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xb8]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0xb8]
mov ecx, dword [0x1800f8850]
movups xmm0, xmmword [0x1800f8840]
mov dword [rbp - 0x30], ecx
xor cx, 0x41
xor word [rbp - 0x2e], 0x42
movups xmmword [rbp - 0x40], xmm0
xor word [rbp - 0x3e], 0x3a
xor word [rbp - 0x3c], 0x3b
xor word [rbp - 0x3a], 0x3c
xor word [rbp - 0x38], 0x3d
xor word [rbp - 0x36], 0x3e
xor word [rbp - 0x34], 0x3f
xor word [rbp - 0x32], 0x40
mov qword [0x18021dd90], rax
movzx eax, word [0x1800f8854]
xor ax, 0x43
mov word [rbp - 0x40], r14w
mov word [rbp - 0x30], cx
mov word [rbp - 0x2c], ax
mov qword [rbp + 0xb0], rdi
test r8, r8
je 0x18001a501
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a4c1
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xb0]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0xb0]
mov ecx, dword [0x1800f8938]
movups xmm0, xmmword [str.UULYO_M_]
mov dword [rbp - 0x18], ecx
xor cx, 0x41
xor word [rbp - 0x16], 0x42
movups xmmword [rbp - 0x28], xmm0
xor word [rbp - 0x26], 0x3a
xor word [rbp - 0x24], 0x3b
xor word [rbp - 0x22], 0x3c
xor word [rbp - 0x20], 0x3d
xor word [rbp - 0x1e], 0x3e
xor word [rbp - 0x1c], 0x3f
xor word [rbp - 0x1a], 0x40
mov qword [0x18021dd98], rax
movzx eax, word [0x1800f893c]
xor ax, 0x43
mov word [rbp - 0x28], r15w
mov word [rbp - 0x18], cx
mov word [rbp - 0x14], ax
mov qword [rbp + 0x188], rdi
test r8, r8
je 0x18001a5dd
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a59d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x188]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x188]
movsd xmm0, qword [0x1800f88c8]
movsd qword [rsp + 0x60], xmm0
xor word [rsp + 0x62], 0x3a
xor word [rsp + 0x64], 0x3b
xor word [rsp + 0x66], 0x3c
mov qword [0x18021dda0], rax
mov eax, dword [0x1800f88d0]
mov dword [rsp + 0x68], eax
movzx eax, word [0x1800f88d4]
xor word [rsp + 0x68], 0x3d
xor ax, 0x3f
xor word [rsp + 0x6a], 0x3e
mov word [rsp + 0x60], r12w
mov word [rsp + 0x6c], ax
mov qword [rbp + 0xa8], rdi
test r8, r8
je 0x18001a6ae
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a66d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xa8]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
movups xmm9, xmmword [0x1800f88a8]
mov rax, qword [rbp + 0xa8]
mov qword [0x18021dda8], rax
pextrw eax, xmm9, 7
movups xmmword [rbp + 0xd8], xmm9
test ax, ax
je 0x18001a808
mov r9d, edi
cmp ebx, 2
jl 0x18001a7be
movdqa xmm2, xmm5
movdqa xmm0, xmm5
punpckldq xmm2, xmm5
punpckhdq xmm0, xmm5
pmuldq xmm2, xmm6
pmuldq xmm0, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm5
paddd xmm2, xmm5
psrad xmm2, 5
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm8
pmulld xmm1, xmm7
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm4
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm9
paddw xmm3, xmm2
punpckhdq xmm0, xmm4
xorps xmm3, xmm1
pmuldq xmm0, xmm6
movq qword [rbp + 0xd8], xmm3
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm4
paddd xmm2, xmm4
psrad xmm2, 5
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm8
pmulld xmm1, xmm7
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0xe0]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp + 0xe0], xmm3
jmp 0x18001a808
lea r10, [rbp + 0xd8]
nop word [rax + rax]
mov ecx, r9d
lea r10, [r10 + 2]
mov eax, 0x1f7047dd
mul r9d
mov eax, 1
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x39
add cx, r9w
inc r9d
xor word [r10 - 2], cx
cmp r9d, 8
jl 0x18001a7d0
mov qword [rbp + 0x190], rdi
test r8, r8
je 0x18001a881
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a83e
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x190]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x190]
movsd xmm0, qword [0x1800f8880]
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x3a
xor word [rsp + 0x54], 0x3b
xor word [rsp + 0x56], 0x3c
mov qword [0x18021ddb0], rax
mov eax, dword [0x1800f8888]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1800f888c]
xor word [rsp + 0x58], 0x3d
xor ax, 0x3f
xor word [rsp + 0x5a], 0x3e
mov word [rsp + 0x50], si
mov word [rsp + 0x5c], ax
mov qword [rbp + 0x198], rdi
test r8, r8
je 0x18001a951
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a910
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x198]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
mov rax, qword [rbp + 0x198]
mov r14d, 0x66
movsd xmm0, qword [0x1800f8940]
movsd qword [rsp + 0x40], xmm0
xor word [rsp + 0x42], 0x3a
xor word [rsp + 0x44], 0x3b
xor word [rsp + 0x46], 0x3c
mov qword [0x18021ddb8], rax
mov eax, dword [0x1800f8948]
mov dword [rsp + 0x48], eax
movzx eax, word [0x1800f894c]
xor word [rsp + 0x48], 0x3d
xor ax, 0x3f
xor word [rsp + 0x4a], 0x3e
mov word [rsp + 0x40], r14w
mov word [rsp + 0x4c], ax
mov qword [rbp + 0xa0], rdi
test r8, r8
je 0x18001aa28
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001a9e7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xa0]
call rax
mov r8, qword [0x18021d8c8]
movdqa xmm4, xmmword [0x18010aae0]
movdqa xmm5, xmmword [0x18010aac0]
movdqa xmm8, xmmword [0x18010ac80]
movdqa xmm7, xmmword [0x18010abb0]
movdqa xmm6, xmmword [0x18010afe0]
movups xmm9, xmmword [0x1800f8800]
mov rax, qword [rbp + 0xa0]
mov qword [0x18021ddc0], rax
pextrw eax, xmm9, 7
movups xmmword [rbp + 0xe8], xmm9
test ax, ax
je 0x18001ab78
mov r9d, edi
cmp ebx, 2
jl 0x18001ab30
movdqa xmm1, xmm5
movdqa xmm0, xmm5
punpckhdq xmm0, xmm5
movq xmm2, xmm8
pmuldq xmm0, xmm6
punpckldq xmm1, xmm5
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm5
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm4
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm9
punpckhdq xmm0, xmm4
paddw xmm3, xmm2
xorps xmm3, xmm1
pmuldq xmm0, xmm6
movq qword [rbp + 0xe8], xmm3
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
movq xmm2, xmm8
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm4
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm4, xmm0
pshufhw xmm0, xmm4, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0xf0]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp + 0xf0], xmm3
jmp 0x18001ab78
lea r10, [rbp + 0xe8]
nop word [rax + rax]
mov ecx, r9d
lea r10, [r10 + 2]
mov eax, 0x1f7047dd
mul r9d
mov eax, 1
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x39
add cx, r9w
inc r9d
xor word [r10 - 2], cx
cmp r9d, 8
jl 0x18001ab40
mov qword [rbp + 0x78], rdi
test r8, r8
je 0x18001abc2
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001abab
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp + 0xe8]
lea rcx, [rbp + 0x78]
call rax
mov r8, qword [0x18021d8c8]
mov rax, qword [rbp + 0x78]
movsd xmm0, qword [str.Z_WZbL_]
movsd qword [rsp + 0x30], xmm0
xor word [rsp + 0x32], 0x3a
xor word [rsp + 0x34], 0x3b
xor word [rsp + 0x36], 0x3c
mov qword [0x18021ddc8], rax
mov eax, dword [0x1800f8958]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1800f895c]
xor word [rsp + 0x38], 0x3d
xor ax, 0x3f
xor word [rsp + 0x3a], 0x3e
mov word [rsp + 0x30], si
mov word [rsp + 0x3c], ax
mov qword [rbp + 0x50], rdi
test r8, r8
je 0x18001ac60
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001ac4b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x50]
call rax
mov r8, qword [0x18021d8c8]
mov rax, qword [rbp + 0x50]
movsd xmm0, qword [str._UTHbL_]
movsd qword [rsp + 0x20], xmm0
xor word [rsp + 0x22], 0x3a
xor word [rsp + 0x24], 0x3b
xor word [rsp + 0x26], 0x3c
mov qword [0x18021ddd0], rax
mov eax, dword [0x1800f8910]
mov dword [rsp + 0x28], eax
movzx eax, word [0x1800f8914]
xor word [rsp + 0x28], 0x3d
xor ax, 0x3f
xor word [rsp + 0x2a], 0x3e
mov word [rsp + 0x20], r14w
mov word [rsp + 0x2c], ax
mov qword [rbp + 0x58], rdi
test r8, r8
je 0x18001acff
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001acea
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x58]
call rax
mov r8, qword [0x18021d8c8]
mov rax, qword [rbp + 0x58]
mov ecx, 0x70
movsd xmm0, qword [str.I_WJTM_]
movsd qword [rbp - 0x80], xmm0
xor word [rbp - 0x7e], 0x3a
xor word [rbp - 0x7c], 0x3b
xor word [rbp - 0x7a], 0x3c
mov qword [0x18021ddd8], rax
mov eax, dword [0x1800f88e0]
mov dword [rbp - 0x78], eax
movzx eax, word [0x1800f88e4]
xor word [rbp - 0x78], 0x3d
xor ax, 0x3f
xor word [rbp - 0x76], 0x3e
mov word [rbp - 0x80], cx
mov word [rbp - 0x74], ax
mov qword [rbp + 0x60], rdi
test r8, r8
je 0x18001ad98
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001ad84
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x60]
call rax
mov r8, qword [0x18021d8c8]
mov rax, qword [rbp + 0x60]
mov ecx, 0x52
movsd xmm0, qword [str.kUTH]
movsd qword [rbp - 0x70], xmm0
xor word [rbp - 0x6e], 0x3a
xor word [rbp - 0x6c], 0x3b
xor word [rbp - 0x6a], 0x3c
mov qword [0x18021dde0], rax
movzx eax, word [0x1800f8920]
xor ax, 0x3d
mov word [rbp - 0x70], cx
mov word [rbp - 0x68], ax
mov qword [rbp + 0x68], rdi
test r8, r8
je 0x18001ae1e
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001ae0a
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x68]
call rax
mov r8, qword [0x18021d8c8]
mov rax, qword [rbp + 0x68]
mov ecx, 0x4e
movsd xmm0, qword [0x1800f8858]
movsd qword [rbp - 0x60], xmm0
xor word [rbp - 0x5e], 0x3a
xor word [rbp - 0x5c], 0x3b
xor word [rbp - 0x5a], 0x3c
mov qword [0x18021dde8], rax
movzx eax, word [0x1800f8860]
xor ax, 0x3d
mov word [rbp - 0x60], cx
mov word [rbp - 0x58], ax
mov qword [rbp + 0x70], rdi
test r8, r8
je 0x18001ae9d
mov rax, qword [0x18021d8d0]
test rax, rax
jne 0x18001ae90
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x18021d8c8]
add rax, rcx
mov qword [0x18021d8d0], rax
mov r8b, 1
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x70]
call rax
mov rax, qword [rbp + 0x70]
lea r11, [rsp + 0x240]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov qword [0x18021ddf0], rax
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret