Function at 0x140072fa0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
test rcx, rcx
je 0x14006ea82
push rbx
sub rsp, 0x20
mov eax, dword [rcx + 0x220]
mov rbx, rcx
cmp dword [rcx + 0x234], eax
jae 0x14006ea7d
mov r9d, 2
xor r8d, r8d
xor edx, edx
call fcn.1400710e0
mov rcx, rbx
mov dword [rbx + 0x2bc], 0
call fcn.140070fa0
add rsp, 0x20
pop rbx
ret
push rbx
sub rsp, 0x20
xor r9d, r9d
mov rbx, rcx
call fcn.1400710e0
mov rcx, qword [rbx + 0x240]
test rcx, rcx
je 0x140072de2
mov rax, qword [rbx + 0x248]
mov qword [rbx + 0x240], rax
mov qword [rbx + 0x248], rcx
mov eax, dword [rbx + 0x234]
inc eax
mov dword [rbx + 0x234], eax
cmp eax, dword [rbx + 0x220]
jb 0x140072f67
cmp byte [rbx + 0x284], 0
je 0x140072f54
test byte [rbx + 0x16c], 2
mov dword [rbx + 0x234], 0
je 0x140072e36
inc byte [rbx + 0x285]
lea rdx, [rbx + 0x218]
movzx r11d, byte [rbx + 0x285]
jmp 0x140072ef0
mov qword [rsp + 0x30], rsi
lea rsi, [0x140000000]
mov qword [rsp + 0x38], rdi
nop word [rax + rax]
movzx r11d, byte [rbx + 0x285]
lea rdx, [rbx + 0x218]
inc r11b
mov byte [rbx + 0x285], r11b
cmp r11b, 7
jae 0x140072ee6
xor edx, edx
movzx r10d, r11b
movzx r8d, byte [r10 + rsi + 0xdd91c]
movzx eax, byte [r10 + rsi + 0xdd914]
mov ecx, r8d
sub ecx, eax
mov eax, dword [rbx + 0x218]
dec eax
add eax, ecx
movzx ecx, byte [r10 + rsi + 0xdd924]
div r8d
movzx r8d, byte [r10 + rsi + 0xdd92c]
mov r9d, eax
mov dword [rbx + 0x224], eax
mov eax, dword [rbx + 0x21c]
mov edx, r8d
sub edx, ecx
dec eax
add eax, edx
xor edx, edx
div r8d
mov dword [rbx + 0x220], eax
test r9d, r9d
je 0x140072e50
lea rdx, [rbx + 0x218]
test eax, eax
je 0x140072e50
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
cmp r11b, 7
jae 0x140072f54
mov r10, qword [rbx + 0x240]
test r10, r10
je 0x140072f67
movzx eax, byte [rbx + 0x289]
movzx ecx, byte [rbx + 0x28c]
mov r8d, eax
mov r9d, dword [rdx]
imul eax, ecx
imul r8, rcx
cmp eax, 8
jb 0x140072f39
shr r8, 3
xor edx, edx
imul r8, r9
mov rcx, r10
inc r8
call fcn.1400a3760
jmp 0x140072f67
imul r8, r9
xor edx, edx
mov rcx, r10
add r8, 7
shr r8, 3
inc r8
call fcn.1400a3760
jmp 0x140072f67
mov r9d, 4
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400710e0
mov eax, dword [rbx + 0x2bc]
mov ecx, dword [rbx + 0x2b8]
inc eax
mov dword [rbx + 0x2bc], eax
test ecx, ecx
je 0x140072f90
cmp eax, ecx
jb 0x140072f90
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x14006ea40
add rsp, 0x20
pop rbx
ret
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r15
sub rsp, 0x60
movzx esi, byte [rdx + 0x13]
movabs rax, 0x1ffffffffffffff
mov r9, qword [rdx + 8]
add esi, 7
movzx r15d, byte [rcx + 0x286]
xor edi, edi
mov r11, qword [rcx + 0x248]
mov rbx, rcx
shr esi, 3
mov r10, 0xfffffffffffffeff
mov dword [rsp + 0xa8], r15d
mov r12, r11
mov dword [rsp + 0xa0], esi
cmp r9, rax
jb 0x140073011
mov eax, r15d
neg eax
and r15d, eax
mov dword [rsp + 0xa8], r15d
jmp 0x140073053
test r15b, 8
je 0x140073053
cmp r15d, 8
je 0x140073053
mov r10, rdi
mov rdx, rdi
test r9, r9
je 0x140073053
nop dword [rax + rax]
movzx ecx, byte [r11 + rdx + 1]
mov eax, 0x100
sub eax, ecx
cmp ecx, 0x80
cmovae ecx, eax
inc rdx
mov eax, ecx
add r10, rax
cmp rdx, r9
jb 0x140073030
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r14
cmp r15d, 0x10
jne 0x1400732c6
mov r13, qword [rbx + 0x250]
lea r14, [r11 + 1]
mov r8d, esi
mov rdx, r14
mov rsi, rdi
mov byte [r13], 1
lea rcx, [r13 + 1]
test r8, r8
je 0x1400730a2
mov esi, r8d
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
inc rcx
sub r8, 1
jne 0x140073091
mov r11, r9
mov r8, r14
sub r11, rsi
cmp rsi, r9
jae 0x1400731a4
cmp r11, 0x40
jb 0x140073177
lea rbp, [r9 - 1]
lea rax, [r9 - 1]
add rbp, rcx
add rax, r14
lea r12, [rcx + rsi]
cmp r12, rax
ja 0x1400730e2
lea rax, [r14 + rsi]
cmp rbp, rax
jae 0x140073177
lea rax, [r9 - 1]
add rax, rdx
cmp r12, rax
ja 0x1400730fb
lea rax, [rdx + rsi]
cmp rbp, rax
jae 0x140073177
and r11d, 0x3f
mov rax, r9
sub rax, r11
nop word [rax + rax]
movdqu xmm0, xmmword [r8]
add rsi, 0x40
movdqu xmm1, xmmword [rdx]
psubb xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmmword [rcx], xmm1
movdqu xmm1, xmmword [rdx + 0x10]
psubb xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm1, xmmword [rdx + 0x20]
psubb xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x30]
add r8, 0x40
movdqu xmmword [rcx + 0x20], xmm1
movdqu xmm1, xmmword [rdx + 0x30]
add rdx, 0x40
psubb xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add rcx, 0x40
cmp rsi, rax
jb 0x140073110
cmp rsi, r9
jae 0x1400731a4
sub r8, rcx
sub rdx, rcx
mov r11, r9
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
sub al, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r11, 1
jne 0x140073190
mov r12, r13
test r15b, 0x40
je 0x14007329b
mov rcx, qword [rbx + 0x250]
mov r8, rdi
mov rdx, qword [rbx + 0x240]
mov r11, r14
inc rdx
mov ebp, edi
mov byte [rcx], 3
lea rsi, [rcx + 1]
mov ecx, dword [rsp + 0xa0]
test ecx, ecx
je 0x14007321d
mov r15d, ecx
mov ebp, ecx
movzx eax, byte [r11]
inc r11
movzx ecx, byte [rdx]
inc rdx
shr cl, 1
sub al, cl
movzx ecx, al
mov eax, 0x100
sub eax, ecx
mov byte [rsi], cl
inc rsi
cmp ecx, 0x80
cmovae ecx, eax
mov eax, ecx
add r8, rax
sub r15, 1
jne 0x1400731e1
mov r15d, dword [rsp + 0xa8]
mov eax, ebp
cmp rax, r9
jae 0x140073272
sub r14, rdx
sub r11, rdx
sub rsi, rdx
nop dword [rax]
movzx eax, byte [rdx]
movzx ecx, byte [r14 + rdx]
lea rdx, [rdx + 1]
add ecx, eax
movzx eax, byte [r11 + rdx - 1]
shr ecx, 1
sub al, cl
movzx ecx, al
mov eax, 0x100
sub eax, ecx
mov byte [rsi + rdx - 1], cl
cmp ecx, 0x80
cmovae ecx, eax
mov eax, ecx
add r8, rax
cmp r8, r10
ja 0x14007329b
inc ebp
mov eax, ebp
cmp rax, r9
jb 0x140073230
cmp r8, r10
jae 0x14007329b
mov rax, qword [rbx + 0x258]
mov r10, r8
mov r12, qword [rbx + 0x250]
test rax, rax
je 0x14007329b
mov qword [rbx + 0x250], rax
mov qword [rbx + 0x258], r12
cmp r15d, 0x80
jne 0x1400734a4
mov edx, dword [rsp + 0xa0]
mov r8, r9
mov rcx, rbx
call fcn.140071dc0
mov rdx, qword [rbx + 0x250]
jmp 0x140073702
test r15b, 0x10
je 0x14007339c
mov r13, qword [rbx + 0x250]
lea r14, [r11 + 1]
mov ebp, esi
mov r8, rdi
mov r11, r14
mov rsi, rdi
mov byte [r13], 1
lea rdx, [r13 + 1]
test rbp, rbp
je 0x140073329
mov esi, ebp
nop word [rax + rax]
movzx eax, byte [r11]
mov ecx, eax
mov byte [rdx], al
mov eax, 0x100
sub eax, ecx
cmp ecx, 0x80
cmovae ecx, eax
inc r11
mov eax, ecx
inc rdx
add r8, rax
sub rbp, 1
jne 0x140073300
cmp rsi, r9
jae 0x140073367
sub r14, rdx
sub r11, rdx
movzx eax, byte [r11 + rdx]
sub al, byte [r14 + rdx]
movzx ecx, al
mov eax, 0x100
sub eax, ecx
mov byte [rdx], cl
cmp ecx, 0x80
cmovae ecx, eax
mov eax, ecx
add r8, rax
cmp r8, r10
ja 0x140073395
inc rdx
inc rsi
cmp rsi, r9
jb 0x140073334
cmp r8, r10
jae 0x140073395
mov rax, qword [rbx + 0x258]
mov r10, r8
mov r11, qword [rbx + 0x248]
mov r12, r13
test rax, rax
je 0x14007339c
mov qword [rbx + 0x250], rax
mov qword [rbx + 0x258], r13
jmp 0x14007339c
mov r11, qword [rbx + 0x248]
cmp r15d, 0x20
jne 0x14007364a
mov r12, qword [rbx + 0x250]
lea r8, [r11 + 1]
mov rdx, qword [rbx + 0x240]
mov rsi, rdi
inc rdx
mov byte [r12], 2
lea rcx, [r12 + 1]
test r9, r9
je 0x1400734a4
cmp r9, 0x40
jb 0x140073477
lea r11, [r9 - 1]
lea rax, [r9 - 1]
add r11, rcx
add rax, rdx
cmp rcx, rax
ja 0x1400733f7
cmp r11, rdx
jae 0x140073477
lea rax, [r9 - 1]
add rax, r8
cmp rcx, rax
ja 0x140073408
cmp r11, r8
jae 0x140073477
mov rax, r9
and rax, 0xffffffffffffffc0
nop
movdqu xmm0, xmmword [rdx]
add rsi, 0x40
movdqu xmm1, xmmword [r8]
psubb xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x10]
movdqu xmmword [rcx], xmm1
movdqu xmm1, xmmword [r8 + 0x10]
psubb xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x20]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm1, xmmword [r8 + 0x20]
psubb xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x30]
add rdx, 0x40
movdqu xmmword [rcx + 0x20], xmm1
movdqu xmm1, xmmword [r8 + 0x30]
add r8, 0x40
psubb xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add rcx, 0x40
cmp rsi, rax
jb 0x140073410
cmp rsi, r9
jae 0x1400734a4
sub rdx, rcx
sub r8, rcx
mov r11, r9
sub r11, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
sub al, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r11, 1
jne 0x140073490
mov rdx, r12
test r15b, r15b
jns 0x140073702
mov r8, qword [rbx + 0x250]
mov r15, rdi
mov r11, qword [rbx + 0x248]
mov rax, qword [rbx + 0x240]
inc r11
mov edx, dword [rsp + 0xa0]
inc rax
mov qword [rsp + 0x30], r8
lea r14, [r8 + 1]
mov byte [r8], 4
mov r13, rax
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
test rdx, rdx
je 0x140073547
mov r15d, edx
mov qword [rsp + 0x20], r12
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r11]
inc r11
sub al, byte [r13]
inc r13
movzx ecx, al
mov eax, 0x100
sub eax, ecx
mov byte [r14], cl
inc r14
cmp ecx, 0x80
cmovae ecx, eax
mov eax, ecx
add rdi, rax
sub rdx, 1
jne 0x140073510
mov rax, qword [rsp + 0x28]
cmp r15, r9
jae 0x14007361b
mov rbx, qword [rsp + 0xa8]
sub rax, rbx
sub r13, rbx
mov qword [rsp + 0x28], rax
sub r14, r11
nop word [rax + rax]
movzx eax, byte [rax + rbx]
movzx ecx, byte [rbx + r13]
movzx esi, byte [rbx]
lea rbx, [rbx + 1]
mov dword [rsp + 0xa0], eax
mov r8d, ecx
sub r8d, eax
mov dword [rsp + 0xa8], ecx
mov ecx, esi
sub ecx, eax
mov eax, r8d
cdq
mov ebp, eax
mov eax, ecx
xor ebp, edx
sub ebp, edx
cdq
mov r12d, eax
lea eax, [rcx + r8]
xor r12d, edx
sub r12d, edx
cdq
xor eax, edx
sub eax, edx
cmp ebp, r12d
jg 0x1400735c0
cmp ebp, eax
jle 0x1400735d2
mov esi, dword [rsp + 0xa0]
cmp r12d, eax
cmovle esi, dword [rsp + 0xa8]
movzx eax, byte [r11]
sub al, sil
movzx ecx, al
mov eax, 0x100
sub eax, ecx
mov byte [r14 + r11], cl
inc r11
cmp ecx, 0x80
cmovae ecx, eax
mov eax, ecx
add rdi, rax
cmp rdi, r10
ja 0x14007360e
mov rax, qword [rsp + 0x28]
inc r15
cmp r15, r9
jb 0x140073570
mov rbx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x30]
cmp rdi, r10
jae 0x1400736fd
mov rax, qword [rbx + 0x258]
mov rdx, r8
test rax, rax
je 0x140073702
mov qword [rbx + 0x250], rax
mov qword [rbx + 0x258], r8
jmp 0x140073702
lea r14, [r11 + 1]
mov r13, r12
test r15b, 0x20
je 0x1400736d8
mov rbp, qword [rbx + 0x250]
mov r11, rdi
mov byte [rbp], 2
lea rdx, [rbp + 1]
test r9, r9
je 0x1400736b3
mov rsi, qword [rbx + 0x240]
mov r8, rdi
sub rsi, rdx
nop
movzx eax, byte [r8 + r14]
sub al, byte [rsi + rdx + 1]
movzx ecx, al
mov eax, 0x100
sub eax, ecx
mov byte [rdx], cl
cmp ecx, 0x80
cmovae ecx, eax
mov eax, ecx
add r11, rax
cmp r11, r10
ja 0x1400736d8
inc rdx
inc r8
cmp r8, r9
jb 0x140073680
cmp r11, r10
jae 0x1400736d8
mov rax, qword [rbx + 0x258]
mov r10, r11
mov r13, rbp
test rax, rax
je 0x1400736d8
mov qword [rbx + 0x250], rax
mov qword [rbx + 0x258], rbp
cmp r15d, 0x40
jne 0x1400731a4
mov edx, dword [rsp + 0xa0]
mov r8, r9
mov rcx, rbx
call fcn.140071b90
mov rdx, qword [rbx + 0x250]
jmp 0x140073702
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x98]
mov rcx, rbx
mov r8, qword [r8 + 8]
inc r8
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
pop r15
pop r12
pop rdi
pop rsi
pop rbx
jmp 0x140072db0