Function at 0x1800094c4
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r15, rcx
mov dword [rcx + 0x3c4], edx
cmp edx, 4
je 0x180009523
test edx, edx
jne 0x1800095cd
mov eax, dword [0x1800189e8]
lea ecx, [rax - 1]
imul ecx, eax
mov r14d, 0xffffffff
xor ecx, r14d
or ecx, 0xfffffffe
cmp ecx, r14d
sete al
cmp dword [0x1800189e4], 0xa
setl cl
test cl, al
jne 0x1800095db
xor cl, al
je 0x180009724
jmp 0x1800095db
mov byte [rsp + 0x28], 0
mov eax, dword [0x180018920]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x18001891c], 0xa
setl cl
test cl, al
jne 0x180009557
xor cl, al
jne 0x180009557
jmp 0x180009555
lea rdx, [rsp + 0x2c]
mov dword [rdx], 0x5439fdfc
mov dword [rdx + 4], 0x5478fdbc
mov dword [rdx + 8], 0x543efdbf
mov dword [rdx + 0xc], 0x543cfdbd
mov dword [rdx + 0x10], 0x5466fdfc
mov dword [rdx + 0x14], 0x5457fdd3
cmp byte [rdx - 4], 0
jne 0x1800095b8
mov eax, 1
xor ecx, ecx
mov ebp, dword [rsp + rax*4 + 0x28]
mov ebx, ebp
not ebx
and ebx, 0x5457fdd3
and ebp, 0xaba8022c
or ebp, ebx
mov dword [rsp + rax*4 + 0x28], ebp
inc rcx
inc rax
cmp rax, 7
jne 0x180009592
add r15, 0x3c8
mov rcx, r15
mov r8d, 0x2c
call fcn.18000ce55
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, dword [0x1800189e0]
lea ecx, [rax - 1]
imul ecx, eax
xor ecx, r14d
or ecx, 0xfffffffe
cmp ecx, r14d
sete cl
cmp dword [0x1800189dc], 0xa
setl r8b
mov edx, r8d
and dl, cl
xor r8b, cl
or r8b, dl
mov ecx, dword [0x180018a88]
mov edi, dword [0x180018a84]
cmp r8b, 1
jne 0x180009772
mov byte [rsp + 0x28], 0
lea edx, [rcx - 1]
imul edx, ecx
mov ebp, 0xffffffff
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
sete dl
cmp edi, 0xa
setl bl
test bl, dl
jne 0x18000964b
xor bl, dl
je 0x180009770
mov dword [rsp + 0x2c], 0x5678afda
mov dword [rsp + 0x30], 0x5664af9a
mov dword [rsp + 0x34], 0x567caf9c
mov dword [rsp + 0x38], 0x566baf9c
mov dword [rsp + 0x3c], 0x5627af86
mov dword [rsp + 0x40], 0x5665af9c
mov dword [rsp + 0x44], 0x5667af85
mov dword [rsp + 0x48], 0x567caf87
mov dword [rsp + 0x4c], 0x5666af94
mov dword [rsp + 0x50], 0x5608af81
test r8b, r8b
je 0x180009772
lea rdx, [rsp + 0x2c]
cmp byte [rdx - 4], 0
jne 0x1800096e2
mov eax, 1
xor ecx, ecx
mov ebp, dword [rsp + rax*4 + 0x28]
mov ebx, ebp
not ebx
and ebx, 0x6c2ba25
and ebp, 0xf93d45da
or ebp, ebx
xor ebp, 0x50ca15d0
mov dword [rsp + rax*4 + 0x28], ebp
inc rcx
inc rax
cmp rax, 0xb
jne 0x1800096b6
lea rcx, [r15 + 0x3c8]
mov r8d, 0x50
call fcn.18000ce55
mov eax, dword [0x1800189e8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x1800189e4], 0xa
setl cl
test cl, al
jne 0x1800095cd
xor cl, al
jne 0x1800095cd
mov eax, dword [0x1800189e0]
lea ecx, [rax - 1]
imul ecx, eax
mov ebp, 0xffffffff
xor ecx, ebp
or ecx, 0xfffffffe
cmp ecx, ebp
sete al
cmp dword [0x1800189dc], 0xa
setl r8b
mov edx, r8d
and dl, al
xor r8b, al
or r8b, dl
mov esi, dword [0x180018a88]
mov edi, dword [0x180018a84]
cmp r8b, 1
je 0x1800097ff
jmp 0x1800098d7
jmp 0x180009770
mov byte [rsp + 0x28], 0
lea edx, [rcx - 1]
imul edx, ecx
mov ebp, 0xffffffff
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
sete al
setne r9b
cmp edi, 0xa
setl bl
cmp edi, 9
setg dl
cmp bl, al
jne 0x1800097a8
or dl, r9b
xor dl, 1
je 0x1800097fd
mov dword [rsp + 0x2c], 0x5678afda
mov dword [rsp + 0x30], 0x5664af9a
mov dword [rsp + 0x34], 0x567caf9c
mov dword [rsp + 0x38], 0x566baf9c
mov dword [rsp + 0x3c], 0x5627af86
mov dword [rsp + 0x40], 0x5665af9c
mov dword [rsp + 0x44], 0x5667af85
mov dword [rsp + 0x48], 0x567caf87
mov dword [rsp + 0x4c], 0x5666af94
mov dword [rsp + 0x50], 0x5608af81
jmp 0x18000961f
jmp 0x1800097fd
mov byte [rsp + 0x28], 0
lea eax, [rsi - 1]
imul eax, esi
xor eax, ebp
or eax, 0xfffffffe
cmp eax, ebp
sete cl
setne bl
cmp edi, 0xa
setl dl
cmp edi, 9
setg al
cmp dl, cl
jne 0x180009831
or al, bl
xor al, 1
je 0x1800098d5
mov dword [rsp + 0x2c], 0x5678afda
mov dword [rsp + 0x30], 0x5664af9a
mov dword [rsp + 0x34], 0x567caf9c
mov dword [rsp + 0x38], 0x566baf9c
mov dword [rsp + 0x3c], 0x5627af86
mov dword [rsp + 0x40], 0x5665af9c
mov dword [rsp + 0x44], 0x5667af85
mov dword [rsp + 0x48], 0x567caf87
mov dword [rsp + 0x4c], 0x5666af94
mov dword [rsp + 0x50], 0x5608af81
test r8b, r8b
je 0x1800098d7
lea rdx, [rsp + 0x2c]
cmp byte [rdx - 4], 0
jne 0x1800098be
mov eax, 1
xor ecx, ecx
mov ebp, dword [rsp + rax*4 + 0x28]
mov ebx, ebp
not ebx
and ebx, 0x5608aff5
and ebp, 0xa9f7500a
or ebp, ebx
mov dword [rsp + rax*4 + 0x28], ebp
inc rcx
inc rax
cmp rax, 0xb
jne 0x180009898
lea rcx, [r15 + 0x3c8]
mov r8d, 0x50
call fcn.18000ce55
jmp 0x1800095db
jmp 0x1800098d5
mov byte [rsp + 0x28], 0
lea eax, [rsi - 1]
imul eax, esi
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete cl
setne bl
cmp edi, 0xa
setl dl
cmp edi, 9
setg al
cmp dl, cl
jne 0x180009905
or al, bl
xor al, 1
je 0x18000995a
mov dword [rsp + 0x2c], 0x5678afda
mov dword [rsp + 0x30], 0x5664af9a
mov dword [rsp + 0x34], 0x567caf9c
mov dword [rsp + 0x38], 0x566baf9c
mov dword [rsp + 0x3c], 0x5627af86
mov dword [rsp + 0x40], 0x5665af9c
mov dword [rsp + 0x44], 0x5667af85
mov dword [rsp + 0x48], 0x567caf87
mov dword [rsp + 0x4c], 0x5666af94
mov dword [rsp + 0x50], 0x5608af81
jmp 0x1800097ff
jmp 0x18000995a