Function at 0x1800295e0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
movzx eax, byte [rcx]
cmp rax, 9
ja case.0x180029602.5
lea rcx, [0x18003ff88]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
lea rcx, [0x18004add8]
cmp byte [0x18004ce09], 0
jne 0x180029cce
mov rax, qword [0x18004add0]
movabs rdx, 0xe2bcbc60eda4f221
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f239
xor dl, byte [rax + r8]
mov byte [0x18004ce04], dl
movabs rdx, 0xe2bcbc60eda4f222
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f23a
xor dl, byte [rax + r8]
mov byte [0x18004ce05], dl
movabs rdx, 0xe2bcbc60eda4f223
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f23b
xor dl, byte [rax + r8]
mov byte [0x18004ce06], dl
movabs rdx, 0xe2bcbc60eda4f224
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f23c
xor dl, byte [rax + r8]
mov byte [0x18004ce07], dl
movabs rdx, 0xe2bcbc60eda4f225
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f23d
xor dl, byte [rax + r8]
mov byte [0x18004ce08], dl
mov byte [0x18004ce09], 1
jmp 0x180029cce
lea rcx, [0x18004ade0]
cmp byte [0x18004cd12], 0
jne 0x180029cce
mov rax, qword [0x18004add0]
movabs rdx, 0xe2bcbc60eda4ef85
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef96
xor dl, byte [rax + r8]
mov byte [0x18004cd0b], dl
movabs rdx, 0xe2bcbc60eda4ef86
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef97
xor dl, byte [rax + r8]
mov byte [0x18004cd0c], dl
movabs rdx, 0xe2bcbc60eda4ef87
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef98
xor dl, byte [rax + r8]
mov byte [0x18004cd0d], dl
movabs rdx, 0xe2bcbc60eda4ef88
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef99
xor dl, byte [rax + r8]
mov byte [0x18004cd0e], dl
movabs rdx, 0xe2bcbc60eda4ef89
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef9a
xor dl, byte [rax + r8]
mov byte [0x18004cd0f], dl
movabs rdx, 0xe2bcbc60eda4ef8a
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef9b
xor dl, byte [rax + r8]
mov byte [0x18004cd10], dl
movabs rdx, 0xe2bcbc60eda4ef8b
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4ef9c
xor dl, byte [rax + r8]
mov byte [0x18004cd11], dl
mov byte [0x18004cd12], 1
jmp 0x180029cce
movabs rcx, 0xe2bcbc60eda4ef5a
add rcx, qword [0x18004add0]
call fcn.180035230
lea rcx, [0x18004ade8]
jmp 0x180029cce
lea rcx, [0x18004adf0]
cmp byte [0x18004ce11], 0
jne 0x180029cce
mov rax, qword [0x18004add0]
movabs rdx, 0xe2bcbc60eda4f254
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f26a
xor dl, byte [rax + r8]
mov byte [0x18004ce0a], dl
movabs rdx, 0xe2bcbc60eda4f255
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f26b
xor dl, byte [rax + r8]
mov byte [0x18004ce0b], dl
movabs rdx, 0xe2bcbc60eda4f256
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f26c
xor dl, byte [rax + r8]
mov byte [0x18004ce0c], dl
movabs rdx, 0xe2bcbc60eda4f257
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f26d
xor dl, byte [rax + r8]
mov byte [0x18004ce0d], dl
movabs rdx, 0xe2bcbc60eda4f258
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f26e
xor dl, byte [rax + r8]
mov byte [0x18004ce0e], dl
movabs rdx, 0xe2bcbc60eda4f259
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f26f
xor dl, byte [rax + r8]
mov byte [0x18004ce0f], dl
movabs rdx, 0xe2bcbc60eda4f25a
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f270
xor dl, byte [rax + r8]
mov byte [0x18004ce10], dl
mov byte [0x18004ce11], 1
jmp 0x180029cce
lea rcx, [0x18004ae10]
cmp byte [0x18004ce35], 0
jne 0x180029cce
mov r8, qword [0x18004add0]
movabs rax, 0xe2bcbc60eda4f331
add rax, r8
movabs rdx, 0xe2bcbc60eda4f34e
add rdx, r8
xor r8d, r8d
lea r9, [0x18004ce2e]
movzx r10d, byte [rax + r8]
mov r11d, r10d
and r11b, 6
mov ebx, r10d
and bl, 0xf9
xor bl, 0xc1
and bl, r10b
mov esi, r11d
xor sil, 0xc7
mov edi, r10d
and dil, 0xc1
or dil, 0x3c
xor dil, bl
mov ebx, edi
xor bl, 0x3c
or r11b, 0x38
and r11b, bl
or dil, 2
and dil, sil
or dil, r11b
mov r11d, r10d
xor r11b, 0xf9
xor r10b, 6
or r10b, r11b
not r10b
or r10b, dil
xor r10b, byte [rdx + r8]
xor r10b, 6
mov byte [r8 + r9], r10b
inc r8
cmp r8, 7
jne 0x180029960
mov byte [0x18004ce35], 1
jmp 0x180029cce
lea rcx, [0x18004ae00]
cmp byte [0x18004ce22], 0
jne 0x180029cce
mov rax, qword [0x18004add0]
movabs rdx, 0xe2bcbc60eda4f2ca
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2db
xor dl, byte [rax + r8]
mov byte [0x18004ce1b], dl
movabs rdx, 0xe2bcbc60eda4f2cb
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2dc
xor dl, byte [rax + r8]
mov byte [0x18004ce1c], dl
movabs rdx, 0xe2bcbc60eda4f2cc
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2dd
xor dl, byte [rax + r8]
mov byte [0x18004ce1d], dl
movabs rdx, 0xe2bcbc60eda4f2cd
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2de
xor dl, byte [rax + r8]
mov byte [0x18004ce1e], dl
movabs rdx, 0xe2bcbc60eda4f2ce
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2df
xor dl, byte [rax + r8]
mov byte [0x18004ce1f], dl
movabs rdx, 0xe2bcbc60eda4f2cf
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2e0
xor dl, byte [rax + r8]
mov byte [0x18004ce20], dl
movabs rdx, 0xe2bcbc60eda4f2d0
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2e1
xor dl, byte [rax + r8]
mov byte [0x18004ce21], dl
mov byte [0x18004ce22], 1
jmp 0x180029cce
lea rcx, [0x18004ae08]
cmp byte [0x18004ce2d], 0
jne 0x180029cce
mov r8, qword [0x18004add0]
movabs rax, 0xe2bcbc60eda4f2fc
add rax, r8
movabs rdx, 0xe2bcbc60eda4f30e
add rdx, r8
xor r8d, r8d
lea r9, [0x18004ce23]
nop dword [rax]
movzx r10d, byte [rdx + r8]
mov r11d, r10d
and r11b, 0x2c
or r11b, 0xd2
mov ebx, r10d
and bl, 0xd3
xor bl, r11b
mov r11d, ebx
and r11b, 0x14
xor r11b, 0x10
xor bl, 0xc6
or r11b, bl
and r10b, 0x14
mov esi, r11d
not sil
and sil, r10b
and bl, 0x82
or bl, sil
and r11b, 0x7d
xor r11b, r10b
xor r11b, 0x7d
or r11b, bl
xor r11b, byte [rax + r8]
xor r11b, 0x69
mov byte [r8 + r9], r11b
inc r8
cmp r8, 0xa
jne 0x180029b30
mov byte [0x18004ce2d], 1
jmp 0x180029cce
lea rcx, [0x18004adf8]
cmp byte [0x18004ce1a], 0
jne 0x180029cce
mov rax, qword [0x18004add0]
movabs rdx, 0xe2bcbc60eda4f28f
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2ab
xor dl, byte [rax + r8]
mov byte [0x18004ce12], dl
movabs rdx, 0xe2bcbc60eda4f290
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2ac
xor dl, byte [rax + r8]
mov byte [0x18004ce13], dl
movabs rdx, 0xe2bcbc60eda4f291
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2ad
xor dl, byte [rax + r8]
mov byte [0x18004ce14], dl
movabs rdx, 0xe2bcbc60eda4f292
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2ae
xor dl, byte [rax + r8]
mov byte [0x18004ce15], dl
movabs rdx, 0xe2bcbc60eda4f293
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2af
xor dl, byte [rax + r8]
mov byte [0x18004ce16], dl
movabs rdx, 0xe2bcbc60eda4f294
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2b0
xor dl, byte [rax + r8]
mov byte [0x18004ce17], dl
movabs rdx, 0xe2bcbc60eda4f295
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2b1
xor dl, byte [rax + r8]
mov byte [0x18004ce18], dl
movabs rdx, 0xe2bcbc60eda4f296
movzx edx, byte [rax + rdx]
movabs r8, 0xe2bcbc60eda4f2b2
xor dl, byte [rax + r8]
mov byte [0x18004ce19], dl
mov byte [0x18004ce1a], 1
movabs rax, 0xe2bcbc60eda4c6d7
add rax, qword [rcx]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret