Function at 0x1801fd2a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov al, byte [rsi + 0xd9]
movzx eax, al
test eax, eax
je 0x1801fd2cc
jmp 0x1801fd2b9
sub eax, 3
je 0x1801fd3bf
jmp 0x1801fd2c4
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rdx, qword [rsi]
cmp rdx, 0
je 0x1801fd337
mov rax, rsi
add rax, 8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x18051a658]
or eax, dword [0x18051a65c]
and eax, 0xf913fee3
imul eax, eax, 0xfd3676b4
xor eax, 0xc284bed3
cmp eax, 0x9fd962cd
jae 0x1801fd54b
jmp 0x1801fd313
mov eax, dword [0x18051a660]
sub eax, dword [0x18051a664]
and eax, 0xb74be723
sub eax, 0x96a983fc
add eax, 0x3f40d998
cmp eax, 0x9c7deeeb
jbe 0x1801fd313
jmp 0x1801fd337
mov rcx, rsi
add rcx, 0x18
mov eax, dword [0x18051a668]
or eax, dword [0x18051a66c]
imul eax, eax, 0xc503c5f8
xor eax, 0x4b1b3bde
or eax, 0xd8b84be5
cmp eax, 0x7e69480c
je 0x1801fd558
jmp 0x1801fd367
mov eax, dword [0x18051a670]
add eax, dword [0x18051a674]
add eax, 0x28c5f16c
xor eax, 0x2d6835c7
mov r8d, 0xb5ba3bd7
xor edx, edx
div r8d
mov rdx, qword [rcx]
cmp rdx, 0
sete r8b
cmp eax, 0xd5c919f6
je 0x1801fd367
jmp 0x1801fd39c
test r8b, 1
jne 0x1801fd2c4
jmp 0x1801fd3a8
add rsi, 0x20
mov rcx, qword [rsi]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1801fd2c4
mov rax, rsi
add rax, 0xd0
mov al, byte [rax]
cmp al, 0
jne 0x1801fd457
mov rax, rsi
add rax, 0xb0
mov r8, qword [rax]
mov eax, dword [0x18051a678]
xor eax, dword [0x18051a67c]
imul eax, eax, 0xc6cda266
imul eax, eax, 0x1c025325
sub eax, 0x39587c8d
cmp eax, 0x6cad880d
je 0x1801fd565
jmp 0x1801fd408
mov eax, dword [0x18051a680]
or eax, dword [0x18051a684]
mov ecx, 0xab104f91
xor edx, edx
div ecx
and eax, 0x352dcf0b
imul ecx, eax, 0xf95f4dd9
cmp r8, 0
sete al
cmp ecx, 0x314d98f0
je 0x1801fd408
test al, 1
jne 0x1801fd457
jmp 0x1801fd43d
mov rax, rsi
add rax, 0xb8
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
mov rax, rsi
add rax, 0x90
mov rdx, qword [rax]
cmp rdx, 0
je 0x1801fd47d
mov rcx, qword [rsi + 0x98]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1801fd47d
mov rdi, rsi
add rdi, 0xdc
cmp byte [rdi], 0
sete al
test al, 1
jne 0x1801fd493
jmp 0x1801fd4a9
mov rbx, rsi
add rbx, 0xdb
cmp byte [rbx], 0
sete al
test al, 1
jne 0x1801fd4d1
jmp 0x1801fd4dc
mov rdx, qword [rsi + 0x40]
cmp rdx, 0
sete al
test al, 1
jne 0x1801fd493
jmp 0x1801fd4ba
mov rax, rsi
add rax, 0x48
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1801fd493
mov byte [rbx], 0
mov byte [rdi], 0
jmp 0x1801fd2c4
mov eax, dword [0x18051a688]
xor edx, edx
div dword [0x18051a68c]
imul eax, eax, 0xc0494c61
or eax, 0x8e24a263
imul eax, eax, 0x21c6c4f1
cmp eax, 0x17510a64
je 0x1801fd572
mov eax, dword [0x18051a690]
xor edx, edx
div dword [0x18051a694]
and eax, 0x4287fd0e
add eax, 0xbc219470
imul ecx, eax, 0x2deb1237
mov rax, rsi
add rax, 0x58
cmp ecx, 0x1f22a81c
je 0x1801fd572
jmp 0x1801fd531
mov rdx, qword [rax]
cmp rdx, 0
je 0x1801fd4d1
mov rcx, qword [rsi + 0x60]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1801fd4d1
jl 0x1801fd55a
outsd dx, dword [rsi]
jbe 0x1801fd54e
sub bl, cl
shr cl, 0xb9
std
invalid
je 0x1801fd582
adc al, 0xdc
jne 0x1801fd591
test al, 0xcc
jmp 0x1801fd365
or edi, dword [rsi + 0x18622593]
sbb byte [rdi], dl
jmp 0x1801fd406
xor edi, dword [rdi + 0x72]
xor cl, byte [rdx + 0x26]
lodsb al, byte [rsi]
jmp 0x1801fd502
mov esi, ecx