Function at 0x699322d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r13
push r12
push rsi
push rbx
sub rsp, 0x428
mov ebx, edx
mov r12, rcx
lea r13, [rsp + 0x20]
test ebx, ebx
je 0x69932600
test rcx, rcx
je 0x69932600
mov esi, ebx
shr esi, 0xa
and esi, 7
je 0x699325d8
mov r8d, 0x400
mov rdx, r13
sub ebx, 0x400
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
cmp esi, 1
je 0x699325d8
cmp esi, 2
je 0x69932451
cmp esi, 3
je 0x69932421
cmp esi, 4
je 0x699323f1
cmp esi, 5
je 0x699323c1
cmp esi, 6
je 0x69932391
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
sub ebx, 0x400
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
sub ebx, 0x400
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
sub ebx, 0x400
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
sub ebx, 0x400
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
sub ebx, 0x400
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
sub ebx, 0x400
jmp 0x699325b2
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0x400]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0x800]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0xc00]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0x1000]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0x1400]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0x1800]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
lea esi, [rbx - 0x1c00]
mov rdx, r13
mov rcx, r12
mov r8d, 0x400
call fcn.6992c4e0
test esi, esi
je 0x69932600
sub ebx, 0x2000
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6995c860
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
test ebx, ebx
je 0x69932600
cmp ebx, 0x3ff
ja 0x69932460
mov r8, rbx
mov rdx, r13
mov rcx, r12
call fcn.6995c860
mov r8, rbx
mov rdx, r13
mov rcx, r12
call fcn.6992c4e0
mov eax, dword [r12 + 0x168]
test byte [r12 + 0x23b], 0x20
je 0x699326c0
and eax, 0x300
mov r8d, 4
mov rdx, r13
mov rcx, r12
mov dword [r12 + 0x494], 0x81
cmp eax, 0x300
je 0x699326e1
call fcn.6995c860
movzx ecx, byte [rsp + 0x20]
movzx r8d, byte [rsp + 0x21]
movzx r9d, byte [rsp + 0x23]
movzx r10d, byte [rsp + 0x22]
shl ecx, 0x18
shl r8d, 0x10
add r8d, ecx
shl r10d, 8
add r9d, r8d
add r10d, r9d
cmp r10d, dword [r12 + 0x26c]
je 0x699326e6
test byte [r12 + 0x23b], 0x20
mov r11d, dword [r12 + 0x168]
jne 0x69932700
shr r11d, 0xa
and r11d, 1
lea rdx, str.CRC_error
mov rcx, r12
test r11b, r11b
je 0x6993270e
call fcn.6992d280
mov eax, 1
add rsp, 0x428
pop rbx
pop rsi
pop r12
pop r13
ret
mov r8d, 4
mov rdx, r13
mov rcx, r12
mov dword [r12 + 0x494], 0x81
test ah, 8
je 0x6993263f
call fcn.6995c860
xor eax, eax
add rsp, 0x428
pop rbx
pop rsi
pop r12
pop r13
ret
shr r11d, 9
xor r11d, 1
and r11d, 1
jmp 0x69932694
call fcn.6992d140
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop