Function at 0x14002e12c
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rdi
push rsi
push rbx
xor eax, eax
lea rdx, [rcx + 0x130]
push 0x26
mov r8, rcx
pop rcx
mov rdi, rdx
rep stosd dword [rdi], eax
push 0x60
mov r10, qword [r8 + 0x40]
mov ecx, dword [r8 + 0x3c]
mov edx, dword [r8 + 0x34]
pop r9
and dword [r8 + 0x38], 0
add rcx, r10
push 0xfffffffffffffff3
mov rax, rdx
mov qword [r8 + 0x58], rcx
add rcx, rdx
xor edx, edx
div r9d
mov r9d, dword [r8 + 0x24]
mov dword [r8 + 0x18], r9d
mov rdx, rcx
imul eax, eax, 0x54
sub rdx, rax
pop rax
mov qword [r8 + 0x60], rdx
cmp r9d, 0xb
ja 0x14002d810
xchg r9d, eax
not eax
mov dword [r8 + 0x30], eax
lea r9, [rdx + 0x600]
mov dword [r8 + 0x2c], eax
lea rax, [rcx - 0xc]
mov qword [r8 + 0x50], rax
mov qword [r8], rax
mov qword [r8 + 8], rax
mov rax, rdx
mov qword [r8 + 0x48], r9
sub rax, r10
mov qword [r8 + 0x10], rdx
and dword [r8 + 0x20], 0
mov word [rcx - 0xc], 0x100
mov word [rcx - 0xa], 0x101
mov dword [rcx - 8], eax
xor eax, eax
and dword [rcx - 4], 0
mov byte [rdx], al
inc eax
add rdx, 6
mov byte [rdx - 5], 1
and word [rdx - 4], 0
and word [rdx - 2], 0
cmp eax, 0x100
jne 0x14002d856
push 2
lea r10, [r8 + 0xa1c]
pop r9
lea r11, [0x140053500]
mov ebx, 0x4000
xor ecx, ecx
movzx eax, word [r11 + rcx*2]
xor edx, edx
mov esi, ebx
div r9d
lea rdx, [rcx + rcx]
add rdx, r10
sub esi, eax
xor eax, eax
mov word [rdx + rax*2], si
add rax, 8
cmp rax, 0x40
jne 0x14002d8a3
inc rcx
cmp rcx, 8
jne 0x14002d88c
inc r9d
sub r10, 0xffffffffffffff80
cmp r9d, 0x82
jne 0x14002d88a
push 0x50
lea rcx, [r8 + 0x41c]
pop rdx
lea rax, [rcx - 0x40]
mov word [rax], dx
add rax, 4
mov byte [rax - 2], 3
mov byte [rax - 1], 4
cmp rax, rcx
jne 0x14002d8d8
add edx, 0x28
lea rcx, [rax + 0x40]
cmp dx, 0x438
jne 0x14002d8d4
mov dword [r8 + 0x3d8], 0x40070000
pop rbx
pop rsi
pop rdi
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, qword [rcx + 0x10]
cmp byte [rsi + 1], 0x1e
mov rbx, rcx
ja 0x14002e1cf
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test edx, edx
je 0x14002e1cf
mov rax, qword [rcx + 0x40]
add rdx, rax
cmp word [rdx], 1
jne 0x14002e172
mov al, byte [rdx + 3]
cmp al, 0x1f
ja 0x14002e1cf
inc eax
mov byte [rdx + 3], al
jmp 0x14002e1cf
mov ecx, dword [rdx + 4]
mov r8b, byte [rsi]
add rax, rcx
cmp byte [rax], r8b
je 0x14002e1bc
mov rcx, rax
add rax, 6
cmp byte [rax], r8b
jne 0x14002e180
mov dil, byte [rcx + 1]
cmp byte [rax + 1], dil
jb 0x14002e1bc
mov r11d, dword [rax - 6]
mov r10d, dword [rax + 1]
mov r9b, byte [rax + 5]
mov dword [rax], r11d
mov r11w, word [rax - 2]
mov word [rax + 4], r11w
mov byte [rcx], r8b
mov dword [rcx + 1], r10d
mov byte [rcx + 5], r9b
xchg rcx, rax
mov cl, byte [rax + 1]
cmp cl, 0x72
ja 0x14002e1cf
add ecx, 2
mov byte [rax + 1], cl
add word [rdx + 2], 2
cmp dword [rbx + 0x18], 0
jne 0x14002e20d
mov rcx, rbx
call fcn.14002dbe2
mov qword [rbx], rax
mov qword [rbx + 8], rax
test rax, rax
jne 0x14002e201
mov rcx, rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14002d7b0
sub rax, qword [rbx + 0x40]
mov dword [rsi + 2], eax
jmp 0x14002e466
mov rax, qword [rbx + 0x58]
mov dl, byte [rsi]
lea rdi, [rax + 1]
mov byte [rax], dl
mov qword [rbx + 0x58], rdi
cmp rdi, qword [rbx + 0x60]
jae 0x14002e1e9
mov r13, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x40]
mov rdx, rdi
mov eax, dword [r13 + 2]
sub rdx, rbp
mov dword [rsp + 0x2c], edx
test eax, eax
je 0x14002e26e
cmp edx, eax
jb 0x14002e250
mov rcx, rbx
call fcn.14002dbe2
test rax, rax
je 0x14002e1e9
sub eax, ebp
dec dword [rbx + 0x18]
jne 0x14002e276
xor ecx, ecx
mov rsi, qword [rbx]
cmp qword [rbx + 8], rsi
mov dword [rsp + 0x2c], eax
setne cl
sub rdi, rcx
mov qword [rbx + 0x58], rdi
jmp 0x14002e276
mov eax, dword [rbx]
mov dword [r13 + 2], edx
sub eax, ebp
mov r14, qword [rbx]
mov rsi, qword [rbx + 8]
add rax, rbp
mov qword [rbx], rax
mov qword [rbx + 8], rax
cmp r14, rsi
je 0x14002e466
movzx eax, word [r14 + 2]
movzx r10d, word [r14]
movzx edx, byte [r13 + 1]
inc eax
sub eax, r10d
sub eax, edx
mov dword [rsp + 0x38], eax
xor eax, eax
cmp r10d, 3
seta al
mov dword [rsp + 0x34], eax
movzx r15d, word [rsi]
mov r12d, r15d
cmp r15w, 1
je 0x14002e37a
test r15d, 1
jne 0x14002e350
mov eax, r15d
shr eax, 1
mov dword [rsp + 0x30], eax
movzx edi, byte [rbx + rax + 0xaf]
cmp dil, byte [rbx + rax + 0xb0]
je 0x14002e350
lea edx, [rdi + 1]
mov rcx, rbx
mov dword [rsp + 0x3c], r10d
call fcn.14002db9b
test rax, rax
je 0x14002e1e9
mov ecx, dword [rsi + 4]
mov r10d, dword [rsp + 0x3c]
xor edx, edx
mov r11, rcx
add rcx, rbp
mov r8d, dword [rcx + rdx]
mov dword [rax + rdx], r8d
mov r9d, dword [rcx + rdx + 4]
mov dword [rax + rdx + 4], r9d
mov r8d, dword [rcx + rdx + 8]
mov dword [rax + rdx + 8], r8d
add rdx, 0xc
dec dword [rsp + 0x30]
jne 0x14002e315
mov edi, edi
sub rax, rbp
add rdi, 0x4c
mov edx, dword [rbx + rdi*4]
mov dword [rcx], edx
mov dword [rbx + rdi*4], r11d
mov dword [rsi + 4], eax
imul edx, r15d, 4
movzx eax, word [rsi + 2]
cmp r10d, edx
setae cl
imul edx, r15d, 8
cmp edx, eax
setae dl
add r15d, r15d
movzx edx, dl
and edx, ecx
cmp r15d, r10d
adc eax, 0
lea eax, [rax + rdx*2]
jmp 0x14002e3cf
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x30], r10d
call fcn.14002db9b
test rax, rax
je 0x14002e1e9
mov dl, byte [rsi + 2]
movzx ecx, byte [rsi + 3]
mov byte [rax], dl
mov edx, dword [rsi + 4]
mov word [rax + 2], dx
mov dx, word [rsi + 6]
mov word [rax + 4], dx
mov rdx, rax
sub rdx, rbp
cmp ecx, 0x1d
mov dword [rsi + 4], edx
push 0x78
pop rdx
mov r10d, dword [rsp + 0x30]
ja 0x14002e3c3
lea edx, [rcx + rcx]
mov byte [rax + 1], dl
mov eax, dword [rsp + 0x34]
add eax, dword [rbx + 0x1c]
add eax, edx
movzx edx, r12w
mov r11d, dword [rsi + 4]
mov edi, dword [rsp + 0x38]
lea ecx, [rax + 6]
imul rdx, rdx, 6
inc r12d
add r11, rdx
movzx edx, byte [r13 + 1]
add r11, rbp
imul ecx, edx
lea edx, [rax + rdi]
mov dil, byte [r13]
mov byte [r11], dil
mov edi, dword [rsp + 0x2c]
mov word [rsi], r12w
add ecx, ecx
mov dword [r11 + 2], edi
imul edi, edx, 6
cmp ecx, edi
jae 0x14002e42b
push 1
pop rdi
cmp edx, ecx
jae 0x14002e41c
push 2
pop rdi
shl edx, 2
cmp ecx, edx
sbb edi, 0xffffffff
add eax, 3
mov edx, edi
jmp 0x14002e44f
lea edi, [rdx + rdx*8]
cmp ecx, edi
sbb r12d, r12d
imul edi, edx, 0xc
cmp ecx, edi
setae dil
imul edx, edx, 0xf
movzx edi, dil
cmp ecx, edx
sbb edi, 0xffffffff
lea edx, [r12 + rdi + 5]
add eax, edx
mov word [rsi + 2], ax
mov byte [r11 + 1], dl
mov esi, dword [rsi + 8]
add rsi, rbp
cmp r14, rsi
jne 0x14002e2b6
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret