Function at 0x1400498d0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x218
mov rax, qword [0x1400945f8]
xor rax, rsp
mov qword [rsp + 0x208], rax
cmp qword [rsp + 0x238], 0
jne 0x14004990a
jmp 0x140049e59
mov byte [rsp + 0x1e0], 0
lea rdi, [rsp + 0x1e1]
xor eax, eax
mov ecx, 0xe
rep stosb byte [rdi], al
mov r8d, 0xf
mov rdx, qword [rsp + 0x238]
lea rcx, [rsp + 0x1e0]
call fcn.1400252e0
mov dword [rsp + 0x180], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x188], 0
mov byte [rsp + 0x1a0], 0
lea rdi, [rsp + 0x1a1]
xor eax, eax
mov ecx, 0x3f
rep stosb byte [rdi], al
mov byte [rsp + 0x160], 0
lea rdi, [rsp + 0x161]
xor eax, eax
mov ecx, 0x1f
rep stosb byte [rdi], al
lea rax, [rsp + 0x1a1]
mov qword [rsp + 0x58], rax
lea rdi, [rsp + 0x30]
lea rsi, str.BCDFGHJKMPQRTVWXY2346789
mov ecx, 0x19
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0x1ee]
and eax, 8
test eax, eax
je 0x140049a54
movzx eax, byte [rsp + 0x1ee]
mov byte [rsp + 0x1f1], al
movzx eax, byte [rsp + 0x1f1]
sar eax, 1
mov byte [rsp + 0x1f1], al
movzx eax, byte [rsp + 0x1f1]
and eax, 0x78
mov byte [rsp + 0x1f1], al
movzx eax, byte [rsp + 0x1ee]
mov byte [rsp + 0x1f0], al
movzx eax, byte [rsp + 0x1f0]
and eax, 0xf7
mov byte [rsp + 0x1f0], al
movzx eax, byte [rsp + 0x1f1]
movzx ecx, byte [rsp + 0x1f0]
or eax, ecx
mov byte [rsp + 0x1f1], al
movzx eax, byte [rsp + 0x1f1]
mov byte [rsp + 0x1ee], al
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x180], eax
mov dword [rsp + 0x184], 0x18
mov dword [rsp + 0x20], 0x1c
lea rax, [rsp + 0x17c]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x190], rax
lea rcx, [rsp + 0x160]
mov rax, qword [rsp + 0x198]
sub rax, rcx
add rax, 1
mov dword [rsp + 0x1fc], eax
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 6
div ecx
mov dword [rsp + 0x1f8], edx
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 6
div ecx
mov dword [rsp + 0x1fc], eax
cmp dword [rsp + 0x1f8], 0
jne 0x140049afa
mov rax, qword [rsp + 0x198]
mov byte [rax], 0x2d
mov dword [rsp + 0x50], 0
jmp 0x140049cdc
mov dword [rsp + 0x200], 0xe
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x1f4], eax
movsxd rax, dword [rsp + 0x200]
movzx eax, byte [rsp + rax + 0x1e0]
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x1f4]
shl eax, 8
mov dword [rsp + 0x1f4], eax
mov ecx, dword [rsp + 0x1fc]
mov eax, dword [rsp + 0x1f4]
or eax, ecx
mov dword [rsp + 0x1f4], eax
mov eax, dword [rsp + 0x1f4]
mov dword [rsp + 0x1fc], eax
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x18
div ecx
mov dword [rsp + 0x1f8], edx
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x18
div ecx
mov dword [rsp + 0x1fc], eax
mov ecx, dword [rsp + 0x1fc]
and ecx, 0xff
movsxd rax, dword [rsp + 0x200]
mov byte [rsp + rax + 0x1e0], cl
mov eax, dword [rsp + 0x200]
sub eax, 1
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x1fc], eax
cmp dword [rsp + 0x200], 0
jge 0x140049b10
mov dword [rsp + 0x50], 0
cmp dword [rsp + 0x180], 0
je 0x140049c6c
cmp dword [rsp + 0x184], 0
jl 0x140049c5b
mov eax, dword [rsp + 0x1f4]
mov dword [rsp + 0x1fc], eax
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x18
div ecx
mov dword [rsp + 0x1f8], edx
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x18
div ecx
mov dword [rsp + 0x1fc], eax
mov edi, dword [rsp + 0x1f8]
mov eax, dword [rsp + 0x184]
sub eax, 1
movsxd rdx, eax
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rsp + rdi + 0x30]
mov byte [rcx + rdx], al
mov eax, dword [rsp + 0x184]
sub eax, 1
mov dword [rsp + 0x184], eax
mov eax, dword [rsp + 0x1f4]
mov dword [rsp + 0x1fc], eax
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x18
div ecx
mov dword [rsp + 0x1f8], edx
xor edx, edx
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x18
div ecx
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x188], eax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x198], rax
mov eax, dword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x198]
movzx eax, byte [rsp + rax + 0x30]
mov byte [rcx], al
mov eax, dword [rsp + 0x20]
sub eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x198]
sub rax, 1
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x190], rax
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x20], eax
jge 0x140049a87
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x180], eax
je 0x140049d30
cmp dword [rsp + 0x188], 0x1e
jl 0x140049d50
mov r8d, 0x20
lea rdx, [rsp + 0x160]
mov rcx, qword [rsp + 0x240]
call fcn.1400252e0
jmp 0x140049e59
mov byte [rsp + 0x60], 0
lea rdi, [rsp + 0x61]
xor eax, eax
mov ecx, 0xfe
rep stosb byte [rdi], al
movsxd r8, dword [rsp + 0x188]
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.1400252e0
movsxd rdx, dword [rsp + 0x188]
mov byte [rsp + rdx + 0x60], 0x4e
movsxd rax, dword [rsp + 0x188]
mov rdx, qword [rsp + 0x58]
add rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140025f90
mov rdx, qword [rsp + 0x240]
mov byte [rdx + 0x17], 0x2d
mov rax, qword [rsp + 0x240]
mov byte [rax + 0x11], 0x2d
mov rax, qword [rsp + 0x240]
mov byte [rax + 0xb], 0x2d
mov rax, qword [rsp + 0x240]
mov byte [rax + 5], 0x2d
mov r8d, 5
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x240]
call fcn.1400252e0
lea rdx, [rsp + 0x65]
mov rcx, qword [rsp + 0x240]
add rcx, 6
mov r8d, 5
call fcn.1400252e0
lea rdx, [rsp + 0x6a]
mov rcx, qword [rsp + 0x240]
add rcx, 0xc
mov r8d, 5
call fcn.1400252e0
lea rdx, [rsp + 0x6f]
mov rcx, qword [rsp + 0x240]
add rcx, 0x12
mov r8d, 5
call fcn.1400252e0
lea rdx, [rsp + 0x74]
mov rcx, qword [rsp + 0x240]
add rcx, 0x18
mov r8d, 5
call fcn.1400252e0
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.1400252b0
add rsp, 0x218
pop rdi
pop rsi
ret