Function at 0x1802019b0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov al, byte [rsi + 0x108]
cmp al, 3
sete al
test al, 1
jne 0x1802019d5
jmp 0x1802019cc
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rax, rsi
add rax, 0x100
mov cl, byte [rax]
movzx eax, cl
test cl, cl
je 0x180201a04
jmp 0x1802019e9
sub eax, 3
je 0x180201b62
jmp 0x1802019cc
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802019cc
mov rax, rsi
add rax, 0xa8
mov rdi, qword [rax]
cmp rdi, 0
sete al
test al, 1
jne 0x180201a8e
jmp 0x180201a1d
mov rbx, rsi
add rbx, 0xa0
mov eax, dword [0x18051ac98]
xor eax, dword [0x18051ac9c]
or eax, 0xb1916c0
mov ecx, 0x5c35e13f
xor edx, edx
div ecx
xor eax, 0xa2a4114b
cmp eax, 0x46db6258
je 0x180201c80
jmp 0x180201a53
mov ebp, dword [0x18051aca0]
and ebp, dword [0x18051aca4]
and ebp, 0x25e6e6b3
or ebp, 0xda4dee29
and ebp, 0xdf21d9e
mov rcx, qword [rbx]
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
cmp ebp, 0xa48c8795
ja 0x180201a53
jmp 0x180201a8c
jmp 0x180201a8e
mov rcx, rsi
add rcx, 0xd8
mov eax, dword [0x18051aca8]
xor eax, dword [0x18051acac]
imul eax, eax, 0x83897cd0
and eax, 0xc4abce98
mov r8d, 0x5fc6c1fa
xor edx, edx
div r8d
cmp eax, 0x6a0ceaea
ja 0x180201ca2
jmp 0x180201ac7
mov eax, dword [0x18051acb0]
add eax, dword [0x18051acb4]
imul r8d, eax, 0xb2e9d379
sub r8d, 0xd55d6c17
add r8d, 0xe71f8f40
mov rdx, qword [rcx]
cmp rdx, 0
sete al
cmp r8d, 0x2a0afaff
je 0x180201ac7
jmp 0x180201afd
test al, 1
jne 0x1802019cc
jmp 0x180201b07
add rsi, 0xd0
mov eax, dword [0x18051acb8]
or eax, dword [0x18051acbc]
sub eax, 0x6c017110
sub eax, 0x791d3244
sub eax, 0xa62501c3
cmp eax, 0xaa90f66a
je 0x180201caf
mov eax, dword [0x18051acc0]
and eax, dword [0x18051acc4]
xor eax, 0x4e7d38b2
or eax, 0xc6691572
and eax, 0xb272a471
cmp eax, 0xc490ea2f
ja 0x180201caf
mov rax, rsi
jmp 0x1802019f4
mov rax, rsi
add rax, 0x60
mov ecx, dword [0x18051acc8]
sub ecx, dword [0x18051accc]
or ecx, 0xc5be675c
or ecx, 0xdb54cf9f
imul ecx, ecx, 0xefd5d827
cmp ecx, 0xe87b3b98
je 0x180201cbc
mov edx, dword [0x18051acd0]
sub edx, dword [0x18051acd4]
and edx, 0x8bfc6c5c
add edx, 0xce4b217a
add edx, 0x8cdb9089
cmp byte [rsi + 0x89], 2
setb cl
cmp edx, 0x7ee45ac3
jbe 0x180201cbc
jmp 0x180201bc9
test cl, 1
jne 0x180201bd0
jmp 0x180201bf8
mov rcx, rsi
add rcx, 0x68
mov rdx, qword [rcx]
cmp rdx, 0
sete cl
test cl, 1
jne 0x180201bf8
jmp 0x180201be8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180201bf8
mov rax, rsi
add rax, 0x59
mov ecx, dword [0x18051acd8]
and ecx, dword [0x18051acdc]
imul ecx, ecx, 0xe18c3789
and ecx, 0xb847d61b
sub ecx, 0x73b94798
cmp ecx, 0x5d446eeb
je 0x180201ccd
jmp 0x180201c2b
mov edx, dword [0x18051ace0]
xor edx, dword [0x18051ace4]
or edx, 0xfaa9240f
or edx, 0xa90944ef
and edx, 0x6b3f9e41
cmp byte [rax], 2
setb cl
cmp edx, 0x1dfe5611
je 0x180201c2b
jmp 0x180201c59
test cl, 1
jne 0x180201c63
jmp 0x1802019cc
mov rax, rsi
add rax, 0x30
add rsi, 0x38
mov rdx, qword [rsi]
cmp rdx, 0
je 0x1802019cc
jmp 0x1802019f4
invalid
or ecx, dword [rax - 0x77]
cli
mov r8d, 1
call fcn.1802cbf20
jmp 0x180201a51
invalid
mov ebp, 0xef5a2d6a
sbb dword [rax - 5], eax
jmp 0x180201b34
add byte [rcx + 0x7e], dl
out dx, al
mov ch, 0x8b
pop rax
mov r14b, 0x58
retf 0xc6e9
js 0x180201c8e
invalid