Function at 0x140154078
Capabilities:
Encrypt data using rc4 prga

Disassembly:
call rax
mov r11, rax
cmp bx, 0x1aa4
cmp dil, spl
test r9b, r14b
test rax, rax
jmp 0x140166503
mov byte [rsp + 0x18], r8b
rcr r11d, 7
shr r11b, cl
push rbp
xor r11w, 0x4c06
cmp spl, dil
bswap bp
push rsi
sub rsp, 0x158
btr si, 0xb1
movzx r11d, r8b
cmovs si, si
mov sil, 0x35
mov rbp, rdx
bsf esi, r15d
rol sil, 0x9e
mov rsi, rcx
cmc
test rcx, rcx
jmp 0x1401660e7
je 0x140166116
test rdx, rdx
jmp 0x1401660f5
je 0x140166116
mov eax, 0x5a4d
cmc
test r15d, 0xd91bff3e
cmp word [rcx], ax
jmp 0x140166110
je 0x140166143
sub eax, eax
rol bpl, cl
sub si, si
add rsp, 0x158
setae sil
not bpl
movsx esi, si
pop rsi
movsx ebp, bp
movsx rbp, sp
movsx bp, spl
pop rbp
jmp 0x140166142
ret
movsxd rax, dword [rcx + 0x3c]
stc
cmp dword [rax + rcx], 0x4550
jmp 0x140166154
jne 0x140166116
mov r9d, dword [rax + rcx + 0x88]
test bl, sil
jmp 0x14016616a
mov dword [rsp + 0x24], r9d
clc
cmp rcx, rbx
cmp ah, 0x2c
test r9d, r9d
je 0x140166116
mov r10d, dword [rax + rcx + 0x8c]
movzx edx, r15w
adc dl, r12b
mov qword [rsp + 0x178], rbx
lea rdx, [rcx + r9]
or r8d, 0xffffffff
stc
xor ebx, ebx
clc
test ecx, 0x77042b19
jmp 0x1401661ad
mov qword [rsp + 0x150], rdi
jmp 0x1401661ba
mov dword [rsp + 0x170], r10d
cmp bx, 0xf05
mov qword [rsp + 0x28], rdx
jmp 0x1401661d3
cmp rbp, 0xffff
ja 0x1401661f1
mov r8d, ebp
sub r8d, dword [rdx + 0x10]
jmp 0x1401661ec
jmp 0x1401663a2
mov eax, dword [rdx + 0x18]
test eax, eax
jmp 0x1401661fb
je 0x1401663a2
mov r10d, dword [rdx + 0x20]
jmp 0x140166211
dec eax
sal ecx, cl
mov ecx, ebx
cmp r10d, r15d
add r10, rsi
test bpl, 6
mov dword [rsp + 0x188], ebx
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x30], r10
cmp sil, r15b
stc
cmp r11b, 0xb9
test eax, eax
jmp 0x140166240
js 0x140166395
nop
lea edi, [rax + rcx]
test ch, 0x84
or r8, 0xffffffff819fb03f
sub r8b, cl
movzx r8d, r11b
sar cx, cl
btc cx, dx
mov rcx, rbp
or dl, r15b
movsx dx, al
movzx edx, r8w
sar edi, 1
bts rdx, rdi
sar dl, cl
movsx rdx, r15w
mov edx, dword [r10 + rdi*4]
cmp rbx, rcx
test di, si
stc
add rdx, rsi
jmp 0x14016628f
call fcn.140165f06
test eax, eax
jmp 0x14016629b
jns 0x1401662b9
mov ecx, dword [rsp + 0x188]
lea eax, [rdi - 1]
mov dword [rsp + 0x20], eax
jmp 0x1401662b4
jmp 0x1401662e1
test eax, eax
jmp 0x1401662c0
jle 0x140166344
mov eax, dword [rsp + 0x20]
add r11b, r11b
lea ecx, [rdi + 1]
rcl r10b, cl
mov dword [rsp + 0x188], ecx
setle r10b
inc r10b
cmp ecx, eax
mov r10b, r8b
setl r10b
mov r10, qword [rsp + 0x30]
mov r11b, 0x8d
mov r11b, sil
mov r11b, byte [rsp + 0x180]
jmp 0x140166302
jle 0x140166247
mov rdx, qword [rsp + 0x28]
movzx r10d, sp
sal r10b, 4
movsx r10w, r15b
mov r9d, dword [rsp + 0x24]
sal r10b, cl
test r13w, r10w
shrd r10w, r15w, 0x1e
mov r10d, dword [rsp + 0x170]
clc
stc
or r8d, 0xffffffff
jmp 0x14016633f
jmp 0x1401663a2
mov rax, qword [rsp + 0x28]
sete r8b
mov rdx, qword [rsp + 0x28]
movzx cx, r12b
xchg ch, cl
mov r9d, dword [rsp + 0x24]
not r10b
movsx r10w, dil
mov eax, dword [rax + 0x24]
movzx r10w, dil
mov r10d, dword [rsp + 0x170]
movzx rcx, dx
lea rcx, [rsi + rax]
not r8w
movzx r8d, dx
movzx r8d, word [rcx + rdi*2]
jmp 0x140166390
jmp 0x1401663a2
mov r10d, dword [rsp + 0x170]
jmp 0x1401663a2
cmp r8d, dword [rdx + 0x14]
jmp 0x1401663ab
jae 0x140166449
mov eax, dword [rdx + 0x1c]
cmc
mov ecx, r8d
rcr dl, 0x34
btc edx, 7
lea rax, [rax + rsi]
mov edx, dword [rax + r8*4]
test si, r11w
test edx, edx
jmp 0x1401663d2
je 0x140166449
cmp edx, r9d
jmp 0x1401663e0
jb 0x140166685
lea eax, [r10 + r9]
test si, dx
jmp 0x1401663f2
cmp edx, eax
jmp 0x1401663f9
jae 0x140166685
movzx ecx, byte [rsi + rdx]
inc dil
lea rax, [rsi + rdx]
inc di
xor dil, r8b
bt di, r8w
mov rdi, rax
cmp r11b, sil
test cl, cl
jmp 0x140166422
je 0x140166449
nop
cmp cl, 0x2e
jmp 0x140166431
je 0x140166455
mov cl, byte [rdi + 1]
inc rdi
test r15b, 0x1c
test cl, cl
jne 0x140166429
xor eax, eax
jmp 0x140166450
jmp 0x14016668d
mov r8, rdi
stc
cmp bl, bpl
cmp bx, 0xe198
sub r8, rax
cmp r8, 0x104
jae 0x140166449
mov rcx, rbx
cmp cx, 0xba3b
jmp 0x14016647e
test r8, r8
jmp 0x140166486
je 0x1401664e4
lea r9, [rsp + 0x40]
sub edx, 0x820b448b
sub r9, rax
bts edx, r12d
cmp r13b, r13b
movzx edx, byte [rax]
clc
test r11, 0x56ac921b
cmp dx, bx
test dl, dl
jmp 0x1401664b6
je 0x1401664e4
inc rcx
jmp 0x1401664c4
mov byte [r9 + rax], dl
jmp 0x1401664cd
inc rax
cmp r14w, 0x5ca6
cmp rcx, r8
jmp 0x1401664de
jb 0x1401664a1
mov byte [rsp + rcx + 0x40], bl
cwde
mov ecx, r12d
lea rcx, [rsp + 0x40]
sets ah
bswap rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
jmp 0x140154076
jne 0x140166533
lea rcx, [rsp + 0x40]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov r11, rax
cmc
test r15d, 0x3000022
cmp cl, r12b
test rax, rax
jmp 0x14016652d
je 0x140166449
cmp r11, rsi
jmp 0x14016653b
jne 0x1401665ef
cmp byte [rsp + 0x180], bl
je 0x1401665cf
lea rax, [rsp + 0x40]
and cl, r9b
jmp 0x140166562
sub rbp, rax
bts ecx, r9d
cwde
bswap dx
nop
movzx ecx, r10w
bt ecx, 0x93
lea rdx, [rsp + rbx + 0x40]
mov ecx, ebx
mov ax, 0x1daa
movzx rax, sp
mov eax, 0x243dd499
rol eax, cl
stc
add al, bl
test r9b, bpl
cmc
clc
xor al, byte [rdx + rbp]
jmp 0x14016659c
mov byte [rdx], al
jmp 0x1401665a3
je 0x1401665c5
inc rbx
cmp esi, 0x4f0ccb32
clc
cmp rbx, 0x104
jmp 0x1401665bf
jb 0x140166576
lea rbp, [rsp + 0x40]
jmp 0x1401665cf
mov rdx, rbp
movsxd rcx, esi
movsx eax, r14w
lahf
mov rcx, rsi
movsxd rax, r9d
cwde
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
jmp 0x14016668d
cmp byte [rdi + 1], 0x23
lea rdx, [rdi + 1]
jmp 0x1401665fc
jne 0x14016666a
movzx edx, byte [rdi + 2]
add rdi, 2
jmp 0x140166612
test dl, dl
je 0x140166663
nop
cbw
cwde
lea eax, [rdx - 0x30]
jmp 0x140166626
inc rdi
jmp 0x14016662f
cmp al, 9
ja 0x140166663
movsx eax, dl
dec dl
or dl, spl
shr rcx, 0x3e
mov dl, byte [rdi]
lea ecx, [rbx + rbx*4]
movsxd rbx, r14d
lea ebx, [rax + rcx*2 - 0x30]
cmp r8b, 5
cmp dx, sp
test dl, dl
jmp 0x14016665d
jne 0x14016661e
movsxd rdx, ebx
cmc
ror cl, 0x30
xor r8d, r8d
movzx cx, ch
movsx rcx, bx
movsxd rcx, edi
mov rcx, r11
call fcn.14016609f
jmp 0x14016668d
lea rax, [rsi + rdx]
bt edi, r13d
mov rbx, qword [rsp + 0x178]
cmovs rbp, r12
mov rdi, qword [rsp + 0x150]
movzx ebp, r14w
adc esi, 0x6b2766aa
and sil, 0x94
add rsp, 0x158
xchg bpl, bpl
mov sil, sil
movzx bp, spl
pop rsi
mov rbp, r12
bswap bp
movsx rbp, sp
pop rbp
jmp 0x1401666d2
ret