Function at 0x14004d750
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rsi
push rdi
push r12
sub rsp, 0x38
mov r12d, r8d
mov rdi, rdx
mov rsi, rcx
test rcx, rcx
je 0x14004d9b9
test rdx, rdx
je 0x14004d9b9
mov r11d, dword [rcx + 4]
mov r10d, dword [rdx + 4]
mov ecx, r10d
mov qword [rsp + 0x68], rbp
or ecx, r11d
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x60], ecx
bt ecx, 0xa
jae 0x14004d7db
and r10d, r11d
bt r10d, 0xa
jae 0x14004d874
mov eax, dword [rdx + 8]
cmp dword [rsi + 8], eax
jne 0x14004d874
xor eax, eax
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x68]
mov r15, qword [rsp + 0x20]
add rsp, 0x38
pop r12
pop rdi
pop rsi
pop rbx
ret
movzx edx, byte [rsi]
cmp dl, byte [rdi]
je 0x14004d818
cmp dl, 0x35
jne 0x14004d7f8
mov rcx, qword [rsi + 0x10]
mov rdx, rdi
call fcn.14004d750
cmp eax, 2
jl 0x14004d811
cmp byte [rdi], 0x35
jne 0x14004d874
mov rdx, qword [rdi + 0x10]
mov r8d, r12d
mov rcx, rsi
call fcn.14004d750
cmp eax, 2
jge 0x14004d874
mov eax, 1
jmp 0x14004d7bd
lea eax, [rdx + 0x68]
test al, 0xfd
je 0x14004d8ad
mov r8, qword [rsi + 8]
test r8, r8
je 0x14004d8ad
mov r9, qword [rdi + 8]
cmp dl, 0x97
jne 0x14004d87e
movzx edx, byte [r8]
lea rbx, [0x140110f00]
movzx eax, byte [r9]
movzx ecx, byte [rdx + rbx]
movzx eax, byte [rax + rbx]
cmp ecx, eax
jne 0x14004d874
sub r9, r8
test dl, dl
je 0x14004d8a9
movzx eax, byte [r9 + r8 + 1]
inc r8
movzx ecx, byte [rax + rbx]
movzx edx, byte [r8]
movzx eax, byte [rdx + rbx]
cmp eax, ecx
je 0x14004d857
mov eax, 2
jmp 0x14004d7bd
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r8 + r9]
sub ecx, eax
jne 0x14004d895
inc r8
test eax, eax
jne 0x14004d881
test ecx, ecx
je 0x14004d8a9
xor ebx, ebx
cmp dl, 0x35
setne bl
lea eax, [rbx + 1]
jmp 0x14004d7bd
mov ecx, dword [rsp + 0x60]
xor r10d, r11d
test r10b, 0x10
jne 0x14004d874
bt ecx, 0xe
jb 0x14004d7bb
bt ecx, 0xb
jb 0x14004d874
mov rdx, qword [rdi + 0x10]
mov r8d, r12d
mov rcx, qword [rsi + 0x10]
call fcn.14004d750
test eax, eax
jne 0x14004d874
mov rdx, qword [rdi + 0x18]
mov r8d, r12d
mov rcx, qword [rsi + 0x18]
call fcn.14004d750
test eax, eax
jne 0x14004d874
mov r15, qword [rsi + 0x20]
xor ebx, ebx
mov r13, qword [rdi + 0x20]
test r15, r15
jne 0x14004d908
test r13, r13
jne 0x14004d874
jmp 0x14004d96c
test r13, r13
je 0x14004d874
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x14004d874
mov ebp, ebx
test eax, eax
jle 0x14004d96c
mov r14, rbx
nop word [rax + rax]
mov rdx, qword [r13 + 8]
mov rcx, qword [r15 + 8]
movzx eax, byte [rdx + r14 + 0x18]
cmp byte [rcx + r14 + 0x18], al
jne 0x14004d874
mov rdx, qword [rdx + r14]
mov r8d, r12d
mov rcx, qword [rcx + r14]
call fcn.14004d750
test eax, eax
jne 0x14004d874
inc ebp
add r14, 0x28
cmp ebp, dword [r15]
jl 0x14004d930
test dword [rsp + 0x60], 0x2000
jne 0x14004d7bb
cmp byte [rsi], 0x61
je 0x14004d7bb
movzx eax, word [rdi + 0x30]
cmp word [rsi + 0x30], ax
jne 0x14004d874
mov eax, dword [rsi + 0x2c]
mov ecx, dword [rdi + 0x2c]
cmp eax, ecx
je 0x14004d7bb
cmp eax, r12d
jne 0x14004d874
mov eax, 2
test ecx, ecx
cmovns ebx, eax
mov eax, ebx
jmp 0x14004d7bd
xor ebx, ebx
mov eax, 2
cmp rdi, rsi
cmove eax, ebx
add rsp, 0x38
pop r12
pop rdi
pop rsi
pop rbx
ret