Function at 0x1800859e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rdi
sub rsp, 0xd0
vmovaps xmmword [r11 - 0x18], xmm6
vmovaps xmmword [r11 - 0x28], xmm7
vmovaps xmmword [r11 - 0x38], xmm8
xor edi, edi
mov eax, edi
xchg byte [0x180b5ec6f], al
mov r9, qword [0x180b60170]
mov r8, qword [0x180b60168]
mov rcx, r9
sub rcx, r8
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x180085bee
lea rax, [r11 - 0x68]
mov qword [r11 + 0x10], rax
vmovups ymm0, ymmword [str.pU_XXL]
vmovups ymmword [rsp + 0x48], ymm0
mov eax, dword [0x180243550]
mov dword [rsp + 0x68], eax
movzx ecx, word [0x180243554]
mov word [rsp + 0x6c], cx
mov byte [rsp + 0x48], 0x43
xor byte [rsp + 0x49], 0x34
xor byte [rsp + 0x4a], 0x35
xor byte [rsp + 0x4b], 0x36
xor byte [rsp + 0x4c], 0x37
xor byte [rsp + 0x4d], 0x38
xor byte [rsp + 0x4e], 0x39
xor byte [rsp + 0x4f], 0x3a
xor byte [rsp + 0x50], 0x3b
xor byte [rsp + 0x51], 0x3c
xor byte [rsp + 0x52], 0x3d
xor byte [rsp + 0x53], 0x3e
xor byte [rsp + 0x54], 0x3f
xor byte [rsp + 0x55], 0x40
xor byte [rsp + 0x56], 0x41
xor byte [rsp + 0x57], 0x42
xor byte [rsp + 0x58], 0x43
xor byte [rsp + 0x59], 0x44
xor byte [rsp + 0x5a], 0x45
xor byte [rsp + 0x5b], 0x46
xor byte [rsp + 0x5c], 0x47
xor byte [rsp + 0x5d], 0x48
xor byte [rsp + 0x5e], 0x49
xor byte [rsp + 0x5f], 0x4a
xor byte [rsp + 0x60], 0x4b
xor byte [rsp + 0x61], 0x4c
xor byte [rsp + 0x62], 0x4d
xor byte [rsp + 0x63], 0x4e
xor byte [rsp + 0x64], 0x4f
xor byte [rsp + 0x65], 0x50
xor byte [rsp + 0x66], 0x51
xor byte [rsp + 0x67], 0x52
xor al, 0x53
mov byte [rsp + 0x68], al
xor byte [rsp + 0x69], 0x54
xor byte [rsp + 0x6a], 0x55
xor byte [rsp + 0x6b], 0x56
xor cl, 0x57
mov byte [rsp + 0x6c], cl
xor byte [rsp + 0x6d], 0x58
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x70], xmm0
mov qword [r11 - 0x58], rdi
mov qword [r11 - 0x50], rdi
lea rax, [rsp + 0x48]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], dil
jne 0x180085b50
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
vzeroupper
call fcn.180005120
nop
mov eax, dword [str.zZSY7]
mov dword [rsp + 0xe0], eax
movzx eax, byte [0x18023d110]
mov byte [rsp + 0xe0], Ordinal_79
xor byte [rsp + 0xe1], 0x34
xor byte [rsp + 0xe2], 0x35
xor byte [rsp + 0xe3], 0x36
xor al, 0x37
mov byte [rsp + 0xe4], al
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0xe0]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180085bc5
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x20]
call fcn.180005120
nop
lea r8, [rsp + 0x20]
jmp 0x180085db4
mov byte [0x180b5ecad], dil
cmp r8, r9
je 0x180085c13
nop word [rax + rax]
cmp byte [r8 + 0x48], dil
jne 0x180085ded
add r8, 0x70
cmp r8, r9
jne 0x180085c00
lea rax, [rsp + 0x70]
mov qword [rsp + 0xe8], rax
mov eax, dword [0x180243508]
vmovups ymm0, ymmword [0x1802434e8]
mov dword [rsp + 0x40], eax
vmovups ymmword [rsp + 0x20], ymm0
mov byte [rsp + 0x20], 0x43
xor byte [rsp + 0x21], 0x34
xor byte [rsp + 0x22], 0x35
xor byte [rsp + 0x23], 0x36
xor byte [rsp + 0x24], 0x37
xor byte [rsp + 0x25], 0x38
xor byte [rsp + 0x26], 0x39
xor byte [rsp + 0x27], 0x3a
xor byte [rsp + 0x28], 0x3b
xor byte [rsp + 0x29], 0x3c
xor byte [rsp + 0x2a], 0x3d
xor byte [rsp + 0x2b], 0x3e
xor byte [rsp + 0x2c], 0x3f
xor byte [rsp + 0x2d], 0x40
xor byte [rsp + 0x2e], 0x41
xor byte [rsp + 0x2f], 0x42
xor byte [rsp + 0x30], 0x43
xor byte [rsp + 0x31], 0x44
xor byte [rsp + 0x32], 0x45
xor byte [rsp + 0x33], 0x46
xor byte [rsp + 0x34], 0x47
xor byte [rsp + 0x35], 0x48
xor byte [rsp + 0x36], 0x49
xor byte [rsp + 0x37], 0x4a
xor byte [rsp + 0x38], 0x4b
xor byte [rsp + 0x39], 0x4c
xor byte [rsp + 0x3a], 0x4d
xor byte [rsp + 0x3b], 0x4e
xor byte [rsp + 0x3c], 0x4f
xor byte [rsp + 0x3d], 0x50
xor byte [rsp + 0x3e], 0x51
xor byte [rsp + 0x3f], 0x52
xor byte [rsp + 0x40], 0x53
xor byte [rsp + 0x41], 0x54
xor byte [rsp + 0x42], 0x55
xor byte [rsp + 0x43], 0x56
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rdi
lea rax, [rsp + 0x20]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], dil
jne 0x180085d15
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
vzeroupper
call fcn.180005120
nop
mov eax, dword [str.zZSY7]
mov dword [rsp + 0xe0], eax
movzx eax, byte [0x18023d110]
mov byte [rsp + 0xe0], Ordinal_79
xor byte [rsp + 0xe1], 0x34
xor byte [rsp + 0xe2], 0x35
xor byte [rsp + 0xe3], 0x36
xor al, 0x37
mov byte [rsp + 0xe4], al
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
lea rax, [rsp + 0xe0]
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180085d90
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x48]
call fcn.180005120
nop
lea r8, [rsp + 0x48]
lea r9, [rsp + 0x70]
mov edx, 0xbb8
mov rcx, qword [0x180b5edf8]
call fcn.18011cae0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x28]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
ret
mov byte [0x180b5ecad], 1
mov eax, dword [0x180b5eccc]
test eax, eax
jne 0x18008602e
mov byte [0x180b5ecae], 1
mov byte [0x180b5eeb4], 1
mov byte [0x180b5ee97], 1
lea rax, [rsp + 0x20]
mov qword [rsp + 0xe8], rax
vmovsd xmm0, qword [0x180243578]
vmovsd qword [rsp + 0x90], xmm0
mov eax, dword [0x180243580]
mov dword [rsp + 0x98], eax
cmp byte [0x180243583], dil
je 0x180085f59
vmovdqu xmm6, xmmword [0x1802498c0]
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [0x180249580]
vmovd xmm0, dword [0x180243578]
vpxor xmm1, xmm2, xmm0
vmovd dword [rsp + 0x90], xmm1
vmovdqu xmm5, xmmword [0x180249400]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm0, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm0, xmmword [0x180249580]
vmovd xmm1, dword [rsp + 0x94]
vpxor xmm0, xmm2, xmm1
vmovd dword [rsp + 0x94], xmm0
mov r8d, 8
lea r9, [rsp + 0x98]
nop word [rax + rax]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180085f30
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x90]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], dil
jne 0x180085f80
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x20]
call fcn.180005120
nop
mov eax, dword [str.zZSY7]
mov dword [rsp + 0xe0], eax
movzx eax, byte [0x18023d110]
mov byte [rsp + 0xe0], Ordinal_79
xor byte [rsp + 0xe1], 0x34
xor byte [rsp + 0xe2], 0x35
xor byte [rsp + 0xe3], 0x36
xor al, 0x37
mov byte [rsp + 0xe4], al
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rdi
lea rax, [rsp + 0xe0]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180086000
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x70]
call fcn.180005120
nop
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x70]
jmp 0x180085db9
cmp eax, 1
jne 0x1800861f0
mov byte [0x180b5eb46], al
lea rax, [rsp + 0x20]
mov qword [rsp + 0xe8], rax
vmovups xmm0, xmmword [0x180243668]
vmovups xmmword [rsp + 0x70], xmm0
vmovsd xmm0, qword [0x180243678]
vmovsd qword [rsp + 0x80], xmm0
movzx eax, word [0x180243680]
mov word [rsp + 0x88], ax
cmp byte [0x180243681], dil
je 0x180086125
mov byte [rsp + 0x70], 0x42
xor byte [rsp + 0x71], 0x34
xor byte [rsp + 0x72], 0x35
xor byte [rsp + 0x73], 0x36
xor byte [rsp + 0x74], 0x37
xor byte [rsp + 0x75], 0x38
xor byte [rsp + 0x76], 0x39
xor byte [rsp + 0x77], 0x3a
xor byte [rsp + 0x78], 0x3b
xor byte [rsp + 0x79], 0x3c
xor byte [rsp + 0x7a], 0x3d
xor byte [rsp + 0x7b], 0x3e
xor byte [rsp + 0x7c], 0x3f
xor byte [rsp + 0x7d], 0x40
xor byte [rsp + 0x7e], 0x41
xor byte [rsp + 0x7f], 0x42
xor byte [rsp + 0x80], 0x43
xor byte [rsp + 0x81], 0x44
xor byte [rsp + 0x82], 0x45
xor byte [rsp + 0x83], 0x46
xor byte [rsp + 0x84], 0x47
xor byte [rsp + 0x85], 0x48
xor byte [rsp + 0x86], 0x49
xor byte [rsp + 0x87], 0x4a
xor byte [rsp + 0x88], 0x4b
xor byte [rsp + 0x89], 0x4c
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x70]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], dil
jne 0x180086150
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.180005120
nop
mov eax, dword [str.zZSY7]
mov dword [rsp + 0xe0], eax
movzx eax, byte [0x18023d110]
mov byte [rsp + 0xe0], Ordinal_79
xor byte [rsp + 0xe1], 0x34
xor byte [rsp + 0xe2], 0x35
xor byte [rsp + 0xe3], 0x36
xor al, 0x37
mov byte [rsp + 0xe4], al
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
lea rax, [rsp + 0xe0]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800861c2
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x48]
call fcn.180005120
nop
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x48]
jmp 0x180085db9
cmp eax, 2
jne 0x180085dca
mov byte [0x180b5ecae], dil
mov byte [0x180b5eeb4], dil
mov byte [0x180b5eb46], dil
mov byte [0x180b5ee97], dil
cmp byte [0x180b5ee55], dil
je 0x180086227
xor edx, edx
xor ecx, ecx
call fcn.180123a10
call fcn.1800ff8b0
test eax, eax
je 0x180086235
call fcn.1800ff5f0
lea rax, [rsp + 0x48]
mov qword [rsp + 0xe8], rax
vmovsd xmm0, qword [0x180243510]
vmovsd qword [rsp + 0x90], xmm0
mov eax, dword [0x180243518]
mov dword [rsp + 0x98], eax
cmp byte [0x18024351b], dil
je 0x180086379
vmovdqu xmm7, xmmword [0x1802498c0]
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm7
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm7
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
mov eax, dword [0x180249580]
vmovd xmm0, eax
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [0x180243510]
vpxor xmm1, xmm1, xmm0
vmovd dword [rsp + 0x90], xmm1
vmovdqu xmm5, xmmword [0x180249400]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm7
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm7
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm1, xmm4, 0x1f
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
vmovd xmm0, eax
vpaddb xmm2, xmm4, xmm0
vmovd xmm1, dword [rsp + 0x94]
vpxor xmm0, xmm2, xmm1
vmovd dword [rsp + 0x94], xmm0
mov r8d, 8
lea r9, [rsp + 0x98]
nop word [rax + rax]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180086350
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
lea rax, [rsp + 0x90]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], dil
jne 0x1800863a0
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x48]
call fcn.180005120
nop
mov eax, dword [str.zZSY7]
mov dword [rsp + 0xe0], eax
movzx eax, byte [0x18023d110]
mov byte [rsp + 0xe0], Ordinal_79
xor byte [rsp + 0xe1], 0x34
xor byte [rsp + 0xe2], 0x35
xor byte [rsp + 0xe3], 0x36
xor al, 0x37
mov byte [rsp + 0xe4], al
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0xe0]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180086415
mov r8, rbx
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x20]
call fcn.180005120
nop
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x20]
jmp 0x180085db9