Function at 0x1800364e0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
movzx eax, byte [rcx]
cmp rax, 9
ja case.0x1800364fa.5
lea rcx, [0x1800504c8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp byte [0x18005f031], 0
je 0x1800365c4
lea rcx, [0x18005ce18]
jmp 0x180037046
cmp byte [0x18005ef42], 0
je 0x1800367d6
lea rcx, [0x18005ce20]
jmp 0x180037046
cmp byte [0x18005ef3a], 0
je 0x1800368d7
lea rcx, [0x18005ce28]
jmp 0x180037046
cmp byte [0x18005f039], 0
je 0x1800369b7
lea rcx, [0x18005ce30]
jmp 0x180037046
cmp byte [0x18005f05d], 0
je 0x180036b2b
lea rcx, [0x18005ce50]
jmp 0x180037046
cmp byte [0x18005f04a], 0
je 0x180036bd5
lea rcx, [0x18005ce40]
jmp 0x180037046
cmp byte [0x18005f055], 0
je 0x180036e60
lea rcx, [0x18005ce48]
jmp 0x180037046
cmp byte [0x18005f042], 0
je 0x180036fc4
lea rcx, [0x18005ce38]
jmp 0x180037046
mov rax, qword [0x18005ce10]
movabs rcx, 0x5bdc866ce18782cd
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782b1
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
and r8b, cl
not cl
mov r9d, ecx
xor r9b, dl
or r8b, r9b
or cl, dl
mov edx, ecx
mov r10d, r8d
mov r11d, ecx
and r9b, cl
xor cl, r8b
xor r8b, 0x87
xor dl, 0x87
xor r10b, 0x78
and r10b, dl
xor r11b, 0x78
and r11b, r8b
or r11b, r10b
or cl, r9b
not cl
or cl, r11b
mov byte [0x18005f02c], cl
movabs rcx, 0x5bdc866ce18782ce
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782b2
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
and r8b, cl
not cl
mov r9d, ecx
xor r9b, dl
or r8b, r9b
or cl, dl
mov edx, ecx
mov r10d, r8d
mov r11d, ecx
and r9b, cl
xor cl, r8b
xor r8b, 0x87
xor dl, 0x87
xor r10b, 0x78
and r10b, dl
xor r11b, 0x78
and r11b, r8b
or r11b, r10b
or cl, r9b
not cl
or cl, r11b
mov byte [0x18005f02d], cl
movabs rcx, 0x5bdc866ce18782cf
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782b3
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
and r8b, cl
not cl
mov r9d, ecx
xor r9b, dl
or r8b, r9b
or cl, dl
mov edx, ecx
mov r10d, r8d
mov r11d, ecx
and r9b, cl
xor cl, r8b
xor r8b, 0x87
xor dl, 0x87
xor r10b, 0x78
and r10b, dl
xor r11b, 0x78
and r11b, r8b
or r11b, r10b
or cl, r9b
not cl
or cl, r11b
mov byte [0x18005f02e], cl
movabs rcx, 0x5bdc866ce18782d0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782b4
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
and r8b, cl
not cl
mov r9d, ecx
xor r9b, dl
or r8b, r9b
or cl, dl
mov edx, ecx
mov r10d, r8d
mov r11d, ecx
and r9b, cl
xor cl, r8b
xor r8b, 0x87
xor dl, 0x87
xor r10b, 0x78
and r10b, dl
xor r11b, 0x78
and r11b, r8b
or r11b, r10b
or cl, r9b
not cl
or cl, r11b
mov byte [0x18005f02f], cl
movabs rcx, 0x5bdc866ce18782d1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782b5
movzx eax, byte [rax + rdx]
mov edx, eax
not dl
and dl, cl
not cl
mov r8d, ecx
xor r8b, al
or dl, r8b
or cl, al
mov eax, ecx
mov r9d, edx
mov r10d, ecx
and r8b, cl
xor cl, dl
xor dl, 0x87
xor al, 0x87
xor r9b, 0x78
and r9b, al
xor r10b, 0x78
and r10b, dl
or r10b, r9b
or cl, r8b
not cl
or cl, r10b
mov byte [0x18005f030], cl
lea rcx, [0x18005ce18]
lea rax, [0x18005f031]
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rcx, 0x5bdc866ce1878019
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187802b
xor cl, byte [rax + rdx]
mov byte [0x18005ef3b], cl
movabs rcx, 0x5bdc866ce187801a
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187802c
xor cl, byte [rax + rdx]
mov byte [0x18005ef3c], cl
movabs rcx, 0x5bdc866ce187801b
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187802d
xor cl, byte [rax + rdx]
mov byte [0x18005ef3d], cl
movabs rcx, 0x5bdc866ce187801c
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187802e
xor cl, byte [rax + rdx]
mov byte [0x18005ef3e], cl
movabs rcx, 0x5bdc866ce187801d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187802f
xor cl, byte [rax + rdx]
mov byte [0x18005ef3f], cl
movabs rcx, 0x5bdc866ce187801e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878030
xor cl, byte [rax + rdx]
mov byte [0x18005ef40], cl
movabs rcx, 0x5bdc866ce187801f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878031
xor cl, byte [rax + rdx]
mov byte [0x18005ef41], cl
lea rcx, [0x18005ce20]
lea rax, [0x18005ef42]
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rcx, 0x5bdc866ce1877fea
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878001
xor cl, byte [rax + rdx]
mov byte [0x18005ef34], cl
movabs rcx, 0x5bdc866ce1877feb
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878002
xor cl, byte [rax + rdx]
mov byte [0x18005ef35], cl
movabs rcx, 0x5bdc866ce1877fec
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878003
xor cl, byte [rax + rdx]
mov byte [0x18005ef36], cl
movabs rcx, 0x5bdc866ce1877fed
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878004
xor cl, byte [rax + rdx]
mov byte [0x18005ef37], cl
movabs rcx, 0x5bdc866ce1877fee
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878005
xor cl, byte [rax + rdx]
mov byte [0x18005ef38], cl
movabs rcx, 0x5bdc866ce1877fef
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878006
xor cl, byte [rax + rdx]
mov byte [0x18005ef39], cl
lea rcx, [0x18005ce28]
lea rax, [0x18005ef3a]
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rcx, 0x5bdc866ce1878307
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782ee
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
xor cl, r8b
mov byte [0x18005f032], cl
movabs rcx, 0x5bdc866ce1878308
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782ef
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
xor cl, r8b
mov byte [0x18005f033], cl
movabs rcx, 0x5bdc866ce1878309
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782f0
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
xor cl, r8b
mov byte [0x18005f034], cl
movabs rcx, 0x5bdc866ce187830a
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782f1
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
xor cl, r8b
mov byte [0x18005f035], cl
movabs rcx, 0x5bdc866ce187830b
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782f2
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
xor cl, r8b
mov byte [0x18005f036], cl
movabs rcx, 0x5bdc866ce187830c
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782f3
movzx edx, byte [rax + rdx]
mov r8d, edx
not r8b
or r8b, cl
not cl
or cl, dl
xor cl, r8b
mov byte [0x18005f037], cl
movabs rcx, 0x5bdc866ce187830d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce18782f4
movzx eax, byte [rax + rdx]
mov edx, eax
not dl
or dl, cl
not cl
or cl, al
xor cl, dl
mov byte [0x18005f038], cl
lea rcx, [0x18005ce30]
lea rax, [0x18005f039]
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rdx, 0x5bdc866ce18783bd
add rdx, rax
movabs r8, 0x5bdc866ce18783d5
add r8, rax
xor r9d, r9d
lea r10, [0x18005f056]
lea rcx, [0x18005ce50]
lea rax, [0x18005f05d]
nop word cs:[rax + rax]
movzx r11d, byte [r8 + r9]
mov ebx, r11d
and bl, 0x80
or bl, 0x56
mov edi, r11d
and dil, 0x76
xor dil, bl
mov ebx, edi
xor bl, 0xa0
mov esi, r11d
and sil, 9
not r11b
or r11b, 0xdf
add dil, 0x80
and dil, bl
not dil
lea ebx, [rsi + 0x20]
and bl, r11b
and bl, dil
xor dil, r11b
xor sil, 0xdf
and sil, dil
or sil, bl
xor sil, byte [rdx + r9]
xor sil, 0xf6
mov byte [r9 + r10], sil
inc r9
cmp r9, 7
jne 0x180036b70
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rcx, 0x5bdc866ce187836c
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878358
movzx edx, byte [rax + rdx]
mov r8d, edx
xor r8b, 0x60
and r8b, dl
mov r9d, r8d
xor r9b, dl
and r8b, 0x13
and r9b, 0x60
and dl, 0x8c
or dl, r8b
or dl, r9b
mov r8d, edx
xor dl, cl
xor cl, 0x8c
xor r8b, 0x73
or r8b, cl
and dl, cl
not r8b
or r8b, dl
mov byte [0x18005f043], r8b
movabs rcx, 0x5bdc866ce187836d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878359
movzx edx, byte [rax + rdx]
mov r8d, edx
xor r8b, 0x60
and r8b, dl
mov r9d, r8d
xor r9b, dl
and r8b, 0x13
and r9b, 0x60
and dl, 0x8c
or dl, r8b
or dl, r9b
mov r8d, edx
xor dl, cl
xor cl, 0x8c
xor r8b, 0x73
or r8b, cl
and dl, cl
not r8b
or r8b, dl
mov byte [0x18005f044], r8b
movabs rcx, 0x5bdc866ce187836e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187835a
movzx edx, byte [rax + rdx]
mov r8d, edx
xor r8b, 0x60
and r8b, dl
mov r9d, r8d
xor r9b, dl
and r8b, 0x13
and r9b, 0x60
and dl, 0x8c
or dl, r8b
or dl, r9b
mov r8d, edx
xor dl, cl
xor cl, 0x8c
xor r8b, 0x73
or r8b, cl
and dl, cl
not r8b
or r8b, dl
mov byte [0x18005f045], r8b
movabs rcx, 0x5bdc866ce187836f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187835b
movzx edx, byte [rax + rdx]
mov r8d, edx
xor r8b, 0x60
and r8b, dl
mov r9d, r8d
xor r9b, dl
and r8b, 0x13
and r9b, 0x60
and dl, 0x8c
or dl, r8b
or dl, r9b
mov r8d, edx
xor dl, cl
xor cl, 0x8c
xor r8b, 0x73
or r8b, cl
and dl, cl
not r8b
or r8b, dl
mov byte [0x18005f046], r8b
movabs rcx, 0x5bdc866ce1878370
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187835c
movzx edx, byte [rax + rdx]
mov r8d, edx
xor r8b, 0x60
and r8b, dl
mov r9d, r8d
xor r9b, dl
and r8b, 0x13
and r9b, 0x60
and dl, 0x8c
or dl, r8b
or dl, r9b
mov r8d, edx
xor dl, cl
xor cl, 0x8c
xor r8b, 0x73
or r8b, cl
and dl, cl
not r8b
or r8b, dl
mov byte [0x18005f047], r8b
movabs rcx, 0x5bdc866ce1878371
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187835d
movzx edx, byte [rax + rdx]
mov r8d, edx
xor r8b, 0x60
and r8b, dl
mov r9d, r8d
xor r9b, dl
and r8b, 0x13
and r9b, 0x60
and dl, 0x8c
or dl, r8b
or dl, r9b
mov r8d, edx
xor dl, cl
xor cl, 0x8c
xor r8b, 0x73
or r8b, cl
and dl, cl
not r8b
or r8b, dl
mov byte [0x18005f048], r8b
movabs rcx, 0x5bdc866ce1878372
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187835e
movzx eax, byte [rax + rdx]
mov edx, eax
xor dl, 0x60
and dl, al
mov r8d, edx
xor r8b, al
and dl, 0x13
and r8b, 0x60
and al, 0x8c
or al, dl
or al, r8b
mov edx, eax
xor al, cl
xor cl, 0x8c
xor dl, 0x73
or dl, cl
and al, cl
not dl
or dl, al
mov byte [0x18005f049], dl
lea rcx, [0x18005ce40]
lea rax, [0x18005f04a]
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rcx, 0x5bdc866ce1878384
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878394
xor cl, byte [rax + rdx]
mov byte [0x18005f04b], cl
movabs rcx, 0x5bdc866ce1878385
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878395
xor cl, byte [rax + rdx]
mov byte [0x18005f04c], cl
movabs rcx, 0x5bdc866ce1878386
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878396
xor cl, byte [rax + rdx]
mov byte [0x18005f04d], cl
movabs rcx, 0x5bdc866ce1878387
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878397
xor cl, byte [rax + rdx]
mov byte [0x18005f04e], cl
movabs rcx, 0x5bdc866ce1878388
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878398
xor cl, byte [rax + rdx]
mov byte [0x18005f04f], cl
movabs rcx, 0x5bdc866ce1878389
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce1878399
xor cl, byte [rax + rdx]
mov byte [0x18005f050], cl
movabs rcx, 0x5bdc866ce187838a
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187839a
xor cl, byte [rax + rdx]
mov byte [0x18005f051], cl
movabs rcx, 0x5bdc866ce187838b
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187839b
xor cl, byte [rax + rdx]
mov byte [0x18005f052], cl
movabs rcx, 0x5bdc866ce187838c
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187839c
xor cl, byte [rax + rdx]
mov byte [0x18005f053], cl
movabs rcx, 0x5bdc866ce187838d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x5bdc866ce187839d
xor cl, byte [rax + rdx]
mov byte [0x18005f054], cl
lea rcx, [0x18005ce48]
lea rax, [0x18005f055]
jmp 0x180037043
mov rax, qword [0x18005ce10]
movabs rdx, 0x5bdc866ce1878321
add rdx, rax
movabs r8, 0x5bdc866ce1878339
add r8, rax
xor r9d, r9d
lea r10, [0x18005f03a]
lea rcx, [0x18005ce38]
lea rax, [0x18005f042]
nop dword [rax]
movzx r11d, byte [rdx + r9]
mov ebx, r11d
and bl, 0xe6
or bl, 1
mov esi, r11d
and sil, 0x19
xor sil, bl
mov ebx, esi
xor bl, 1
xor sil, 0xe1
or sil, bl
and r11b, 0xe0
not sil
or sil, r11b
xor sil, byte [r8 + r9]
xor sil, 0x1f
mov byte [r9 + r10], sil
inc r9
cmp r9, 8
jne 0x180037000
mov byte [rax], 1
movabs rax, 0x5bdc866ce1874fc3
add rax, qword [rcx]
pop rbx
pop rdi
pop rsi
ret