Function at 0x1802b5100
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, rsi
add rax, 0x59
movzx eax, byte [rax]
test eax, eax
invalid
je 0x1802b5183
jmp 0x1802b511b
sub eax, 3
je 0x1802b535e
jmp 0x1802b5126
mov eax, dword [0x180526e28]
xor eax, dword [0x180526e2c]
mov ecx, 0xc323bb22
xor edx, edx
div ecx
add eax, 0x8d1c6d6e
sub eax, 0x551e55e
cmp eax, 0x5f7b661b
jbe 0x1802b54e3
jmp 0x1802b5152
mov eax, dword [0x180526e30]
imul eax, dword [0x180526e34]
xor eax, 0xa8c66719
mov ecx, 0x58b5043d
xor edx, edx
div ecx
imul eax, eax, 0x551ab5dc
cmp eax, 0x45a69982
jb 0x1802b5152
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
add rsi, 0x50
mov rcx, qword [rsi]
mov eax, dword [0x180526e38]
add eax, dword [0x180526e3c]
sub eax, 0xb2b497f8
xor eax, 0x702a3e66
imul eax, eax, 0x536f0a5a
cmp eax, 0x286d78f0
jb 0x1802b54f4
mov eax, dword [0x180526e40]
xor edx, edx
div dword [str.a.tl_n_b]
or eax, 0xc9bc41f2
and eax, 0x3f89e311
or eax, 0xedee259d
mov rdx, rcx
and rdx, 3
cmp eax, 0x3d206613
jbe 0x1802b54f4
mov rax, rdx
sub rax, 3
ja 0x1802b51f9
lea rax, [0x18048a01c]
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
mov eax, dword [0x180526e48]
and eax, dword [0x180526e4c]
or eax, 0x69ca70f5
imul eax, eax, 0x27a5b395
add eax, 0xc191d840
cmp eax, 0xbcb0e579
ja 0x1802b5501
mov eax, dword [0x180526e50]
xor edx, edx
div dword [0x180526e54]
and eax, 0xce605732
or eax, 0x35a2f2c3
mov ecx, 0x3eb8665f
xor edx, edx
div ecx
cmp eax, 0xecbd23e2
ja 0x1802b5501
ud2
mov eax, dword [0x180526e70]
xor edx, edx
div dword [0x180526e74]
or eax, 0x2c4e22f9
and cl, byte [rsi + 0x2c]
mov ecx, 0x69406fba
xor edx, edx
div ecx
mov edi, eax
add edi, 0x315bbcd4
invalid
mov esp, 0x8948315b
mov ecx, esi
mov edx, 0x18
mov r8d, 8
call fcn.1802cbf20
cmp edi, 0x36f1c229
ja 0x1802b551f
jmp 0x1802b5359
jmp 0x1802b5126
mov rax, rsi
add rax, 0x40
cmp byte [rax], 0
sete al
test al, 1
jne 0x1802b5371
jmp 0x1802b5392
mov rax, rsi
add rax, 0x20
mov rdx, qword [rax]
cmp rdx, 0
je 0x1802b5392
mov rcx, qword [rsi + 0x28]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802b5392
mov rax, rsi
add rax, 8
mov rdi, qword [rax]
cmp rdi, 0
sete al
test al, 1
jne 0x1802b5419
jmp 0x1802b53a9
mov rbx, qword [rsi + 0x10]
mov eax, dword [0x180526e78]
xor edx, edx
div dword [0x180526e7c]
and eax, 0xa29f3b4e
imul eax, eax, 0xfaecd417
xor eax, 0x990edb4a
cmp eax, 0x6d1b92c8
je 0x1802b553f
mov eax, dword [0x180526e80]
xor edx, edx
div dword [0x180526e84]
mov ebp, eax
add ebp, 0x34e993fb
sub ebp, 0x6cc1bacb
or ebp, 0xde2025ad
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
cmp ebp, 0x5636a405
jb 0x1802b553f
jmp 0x1802b5417
jmp 0x1802b5419
mov rcx, qword [rsi]
mov r8, rcx
and r8, 3
mov eax, dword [0x180526e88]
and eax, dword [0x180526e8c]
and eax, 0xca7aa96a
mov r9d, 0xb0fbaced
xor edx, edx
div r9d
xor eax, 0xdb33e5a6
cmp eax, 0xf374a27e
jae 0x1802b555d
mov eax, dword [0x180526e90]
or eax, dword [0x180526e94]
imul eax, eax, 0x6dfab234
xor eax, 0xce383efa
mov r9d, 0xcf1ca5cc
xor edx, edx
div r9d
cmp eax, 0xd48e38c5
jae 0x1802b555d
lea rax, [0x18048a00c]
movsxd rdx, dword [rax + r8*4]
add rdx, rax
jmp rdx
mov rdx, qword [rbx + 8]
mov edx, dword [rbx + 8]
add rbx, 0x10
mov r8, qword [rbx]
cmp rdx, 0
je 0x1802b54cb
mov rcx, rdi
call fcn.1802cbf20
jmp 0x1802b54cb
mov rcx, rsi
mov edx, 0x18
mov r8d, 8
call fcn.1802cbf20
jmp 0x1802b5126
jg 0x1802b54b0
test al, 0xeb
pop rsp
ror dword [rcx - 0x1c], 0x8b
cmpsb byte [rsi], byte [rdi]
mov ebp, r9d
pop rsp
cld
invalid
jmp 0x1802b5544
int 0xda
call 0x12977c883
jrcxz 0x1802b54e6
mov al, 0xfc
invalid
sti
outsb dx, byte [rsi]
popfq
idiv dword [rax + 0x2701a760]
cmpsd dword [rsi], dword [rdi]
and dword [rdi], 0xfffd0ee9
push rax
xchg esi, eax
push rbp
add byte gs:[rcx], cl
fbstp tbyte [rdi - 0x29f17]
dec edx
mov dl, 0xb6
mov ah, al
jge 0x1802b54b1
retf 0xb6b2
xor eax, 0xbaf18948
sbb byte [rax], al
add byte [rax], al
mov r8d, 8
call fcn.1802cbf20
jmp 0x1802b5314
fistp dword [rcx]
pop rsp
xchg ebx, edi
cmp dl, byte [rax + 0x48d98948]
mov edx, edi
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802b53d6
rcr byte [rbx - 4], cl
sub al, 0xf2
push rsp
cli
or al, 0x2a
int1
pop r12
jmp 0x1802b544f