Function at 0x1801a9520
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, rcx
mov rbx, r9
xor ecx, ecx
mov r13, rdx
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], ecx
mov byte [rsp + 0x21], cl
mov byte [rsp + 0x20], cl
test rax, rax
je 0x1801a9b8e
test rbx, rbx
je 0x1801a9b8e
test rdx, rdx
je 0x1801a9b8e
mov r11, qword [rsp + 0xf0]
test r11, r11
je 0x1801a9b8e
mov r10, qword [rax]
movzx eax, byte [r9 + 0x1a]
mov qword [rsp + 0x50], r10
test al, al
je 0x1801a95b0
cmp al, 7
jne 0x1801a9b8e
cmp qword [r9 + 0x10], rcx
je 0x1801a9b8e
cmp byte [rdx + 0x1a], cl
je 0x1801a9b8a
cmp al, 7
jne 0x1801a95ca
mov eax, dword [rdx + 8]
xor eax, dword [r9 + 8]
jl 0x1801a9b8e
mov edx, dword [rdx + 4]
test edx, edx
je 0x1801a9b8a
mov r9d, dword [r13]
test r9d, r9d
je 0x1801a9b8a
mov esi, dword [r11]
mov r14d, r8d
mov r12d, dword [r11 + 4]
and r14d, 0xffffffc0
shl r9d, 6
and esi, 0xffffffc0
shr r8, 0x20
and r12d, 0xffffffc0
and r8d, 0xffffffc0
lea eax, [r9 - 0x7fffffc0]
cmp eax, r8d
jg 0x1801a9b8e
shl edx, 6
mov edi, r8d
mov eax, 0x7fffffbf
sub edi, r9d
sub eax, edx
cmp eax, r14d
jl 0x1801a9b8e
mov r9d, dword [rbx + 4]
lea r11d, [r14 + rdx]
test r9d, r9d
je 0x1801a9671
mov edx, dword [rbx]
test edx, edx
je 0x1801a9671
shl edx, 6
lea eax, [rdx - 0x80000000]
cmp eax, r12d
jg 0x1801a9b8e
mov r15d, r12d
mov eax, 0x7fffffff
sub r15d, edx
mov edx, r9d
shl edx, 6
sub eax, edx
cmp eax, esi
jl 0x1801a9b8e
lea ebp, [rsi + rdx]
jmp 0x1801a9681
mov esi, 0x7fffffff
mov ebp, 0x80000000
mov r15d, esi
mov r12d, ebp
cmp r14d, esi
mov eax, esi
mov edx, r15d
cmovl eax, r14d
cmp edi, r15d
mov dword [rsp + 0x44], eax
cmovl edx, edi
cmp r11d, ebp
mov dword [rsp + 0x48], edx
cmovg ebp, r11d
sub ebp, eax
sar ebp, 6
cmp r8d, r12d
cmovg r12d, r8d
sub r12d, edx
sar r12d, 6
mov dword [rsp + 0x40], r12d
test ebp, ebp
je 0x1801a9b8a
test r12d, r12d
je 0x1801a9b8a
sub edi, edx
sub r14d, eax
mov dword [rsp + 0x30], edi
test r9d, r9d
je 0x1801a96e2
cmp dword [rbx], ecx
je 0x1801a96e2
sub esi, eax
sub r15d, edx
cmp byte [rbx + 0x1a], cl
jne 0x1801a9743
mov eax, 0x7fffffff
mov dword [rbx + 4], ebp
lea ebp, [rbp*4]
mov dword [rbx], r12d
cdq
mov byte [rbx + 0x1a], 7
idiv ebp
mov dword [rbx + 8], ebp
mov word [rbx + 0x18], 0x100
cmp eax, r12d
jl 0x1801a9b8e
imul ebp, r12d
lea r8, [rsp + 0x28]
mov rcx, r10
mov edx, ebp
call fcn.18013fd00
mov ecx, dword [rsp + 0x28]
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x24], ecx
test ecx, ecx
jne 0x1801a9b7a
mov byte [rsp + 0x20], 1
jmp 0x1801a987a
cmp r9d, ebp
jne 0x1801a9751
cmp dword [rbx], r12d
je 0x1801a987a
mov ecx, dword [rbx + 8]
lea edi, [rbp*4]
neg ecx
mov eax, 0x7fffffff
cdq
cmovs ecx, dword [rbx + 8]
idiv edi
mov dword [rsp + 0x38], ecx
cmp eax, r12d
jl 0x1801a9b8e
mov edx, edi
lea r8, [rsp + 0x28]
imul edx, r12d
mov rcx, r10
call fcn.18013fd00
mov ecx, dword [rsp + 0x28]
mov r9, rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x24], ecx
test ecx, ecx
jne 0x1801a9b7a
cmp dword [rbx + 8], ecx
jl 0x1801a9840
mov edx, dword [rbx]
lea r8d, [rbp*4]
movsxd rcx, dword [rsp + 0x38]
mov eax, r12d
mov rdi, qword [rbx + 0x10]
sar esi, 6
sar r15d, 6
sub eax, r15d
shl esi, 2
sub eax, edx
movsxd rsi, esi
imul eax, r8d
lea r15, [rbx + 8]
imul edx, ecx
add rax, r9
add rsi, rax
movsxd rax, edx
add rax, rdi
mov qword [rsp + 0x38], rax
cmp rdi, rax
jae 0x1801a9b7e
mov rbx, qword [rsp + 0x38]
mov r15, rcx
movsxd rax, r8d
mov r13, rax
nop word [rax + rax]
mov r8, r15
mov rdx, rdi
mov rcx, rsi
call fcn.180217e00
add rdi, r15
add rsi, r13
cmp rdi, rbx
jb 0x1801a9810
mov rbx, qword [rsp + 0xe8]
lea edi, [rbp*4]
mov r13, qword [rsp + 0xd8]
lea r15, [rbx + 8]
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1801a9858
mov rax, qword [rsp + 0x50]
mov rcx, rax
call qword [rax + 0x10]
cmp dword [r15], 0
mov dword [rbx + 4], ebp
mov dword [rbx], r12d
jge 0x1801a9866
neg edi
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x24]
mov dword [r15], edi
mov edi, dword [rsp + 0x30]
mov qword [rbx + 0x10], rax
cmp byte [r13 + 0x1a], 2
je 0x1801a98e8
movups xmm0, xmmword [0x180298008]
mov rsi, qword [rsp + 0xd0]
mov r9d, 1
movups xmm1, xmmword [0x180298018]
lea r8, [rsp + 0x68]
mov rdx, r13
movups xmmword [rsp + 0x68], xmm0
mov rcx, rsi
movsd xmm0, qword [0x180298028]
movsd qword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm1
call sym.reaper_imgui_x64.dll_FT_Bitmap_Convert
mov dword [rsp + 0x24], eax
mov ecx, eax
test eax, eax
jne 0x1801a9b19
lea r13, [rsp + 0x68]
mov byte [rsp + 0x21], 1
mov qword [rsp + 0xd8], r13
mov edx, dword [rbx + 8]
test edx, edx
js 0x1801a9af6
mov r15, qword [r13 + 0x10]
mov eax, dword [rbx]
mov ecx, dword [r13]
sar edi, 6
sub eax, edi
sar r14d, 6
sub eax, ecx
shl r14d, 2
imul ecx, dword [r13 + 8]
imul edx, eax
movsxd rax, r14d
mov qword [rsp + 0x38], r15
add rdx, rax
movsxd rax, ecx
add rdx, qword [rbx + 0x10]
add rax, r15
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x60], rax
cmp r15, rax
jae 0x1801a9af2
mov ecx, dword [rsp + 0xf8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r13 + 4]
mov r12, r15
add rax, r15
mov qword [rsp + 0x58], rax
cmp r15, rax
jae 0x1801a9aca
movzx r13d, byte [rsp + 0xfb]
mov rbx, rdx
movzx r15d, cl
mov rcx, rax
nop dword [rax + rax]
movzx edx, byte [r12]
mov eax, 0x80808081
movzx r8d, byte [rbx]
mov ebp, 0xff
movzx r11d, byte [rbx + 1]
movzx edi, byte [rbx + 2]
movzx esi, byte [rbx + 3]
imul edx, r13d
mul edx
mov eax, 0x80808081
mov r14d, edx
shr r14d, 7
sub ebp, r14d
imul r8d, ebp
imul r11d, ebp
imul edi, ebp
imul esi, ebp
imul r8d
lea r9d, [r8 + rdx]
mov r8d, r14d
sar r9d, 7
mov eax, r9d
imul r8d, r15d
shr eax, 0x1f
add r9d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
mov r8d, r14d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add r9b, dl
imul r11d
mov byte [rbx], r9b
lea r9d, [r11 + rdx]
sar r9d, 7
mov eax, r9d
shr eax, 0x1f
add r9d, eax
movzx eax, byte [rsp + 0xf9]
imul r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
mov r8d, r14d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add r9b, dl
imul edi
mov byte [rbx + 1], r9b
lea r9d, [rdi + rdx]
sar r9d, 7
mov eax, r9d
shr eax, 0x1f
add r9d, eax
movzx eax, byte [rsp + 0xfa]
imul r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add r9b, dl
imul esi
mov byte [rbx + 2], r9b
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, r14b
mov byte [rbx + 3], dl
inc r12
lea rbx, [rbx + 4]
cmp r12, rcx
jb 0x1801a9980
mov ecx, dword [rsp + 0xf8]
mov rbx, qword [rsp + 0xe8]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x28]
movsxd rax, dword [r13 + 8]
add r15, rax
movsxd rax, dword [rbx + 8]
add rdx, rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x28], rdx
cmp r15, qword [rsp + 0x60]
jb 0x1801a9950
mov r12d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0xf0]
mov eax, dword [rsp + 0x44]
mov rsi, qword [rsp + 0xd0]
shl r12d, 6
add r12d, dword [rsp + 0x48]
mov dword [rdx], eax
mov dword [rdx + 4], r12d
test ecx, ecx
je 0x1801a9b5c
cmp byte [rsp + 0x20], 0
je 0x1801a9b5c
mov rdx, qword [rbx + 0x10]
mov rax, qword [rsi]
test rdx, rdx
je 0x1801a9b3a
mov rcx, rax
call qword [rax + 0x10]
mov ecx, dword [rsp + 0x24]
movups xmm0, xmmword [0x180298008]
movups xmm1, xmmword [0x180298018]
movups xmmword [rbx], xmm0
movsd xmm0, qword [0x180298028]
movups xmmword [rbx + 0x10], xmm1
movsd qword [rbx + 0x20], xmm0
cmp byte [rsp + 0x21], 0
je 0x1801a9b7a
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsi]
test rdx, rdx
je 0x1801a9b7a
mov rcx, rax
call qword [rax + 0x10]
mov ecx, dword [rsp + 0x24]
mov eax, ecx
jmp 0x1801a9b93
lea edi, [rbp*4]
jmp 0x1801a9844
xor eax, eax
jmp 0x1801a9b93
mov eax, 6
mov rbx, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret