Function at 0x1404e9381
Capabilities:
Encrypt data using rc4 prga

Disassembly:
call rax
mov r11, rax
jmp 0x140585eab
mov byte [rsp + 0x18], r8b
clc
mov qword [rsp + 0x10], rdx
cmc
jmp 0x14058599d
push rbp
rcl bp, 0xc2
and bpl, 0xec
push rsi
btc rbp, r12
sar sil, 0xb
cmp r12w, 0x6cf6
sub rsp, 0x178
mov rbp, rdx
cmp rax, r8
mov rsi, rcx
test rcx, rcx
jmp 0x1405859cd
je 0x1405859f8
test rdx, rdx
jmp 0x1405859db
je 0x1405859f8
mov eax, 0x5a4d
test r11b, 0x38
cmp word [rcx], ax
jmp 0x1405859f2
je 0x140585a17
sub eax, eax
movsx si, r15b
add rsp, 0x178
movsx bp, r15b
movsx rbp, r8w
pop rsi
pop rbp
jmp 0x140585a16
ret
movsxd rax, dword [rcx + 0x3c]
stc
cmp dword [rax + rcx], 0x4550
jmp 0x140585a28
jne 0x1405859f8
mov r8d, dword [rax + rcx + 0x88]
cmp r13b, 0x32
cmc
mov dword [rsp + 0x30], r8d
clc
test r8d, r8d
jmp 0x140585a49
je 0x1405859f8
mov r9d, dword [rax + rcx + 0x8c]
rol dh, cl
shl cx, cl
and cl, dil
lea rdx, [rsi + r8]
mov qword [rsp + 0x170], rbx
bsr cx, bp
add cl, 0x4d
btc cx, di
mov qword [rsp + 0x168], rdi
bsr cx, r8w
adc ecx, 0x51af3e8e
shl ch, cl
mov ecx, 0xffffffff
jmp 0x140585a95
sub edi, edi
test r14b, 0x13
jmp 0x140585aa0
mov dword [rsp + 0x20], r9d
test r13, rcx
clc
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x190], ecx
cmp dil, r10b
clc
cmp rbp, 0xffff
jmp 0x140585ac5
ja 0x140585b20
mov ecx, ebp
test rsp, 0x609b55ef
cmp edi, 0x172b3c12
cmp di, si
sub ecx, dword [rdx + 0x10]
cmp ecx, dword [rdx + 0x14]
jmp 0x140585ae8
jae 0x140585b14
mov eax, dword [rdx + 0x1c]
sbb rdx, 0x1d706cdf
btr dx, ax
lea rax, [rax + rsi]
movzx rdx, r14w
mov edx, dword [rax + rcx*4]
jmp 0x140585b0c
test edx, edx
jne 0x140585d86
xor eax, eax
jmp 0x140585b1b
jmp 0x14058603d
mov eax, dword [rdx + 0x18]
test eax, eax
je 0x140585d65
mov r9d, dword [rdx + 0x20]
lea r11d, [rax - 1]
rcl bl, cl
movzx rbx, sp
mov ebx, edi
cmp r12, r13
add r9, rsi
cmc
mov qword [rsp + 0x40], r9
jmp 0x140585b51
test r11d, r11d
js 0x140585d5d
nop
stc
dec r10w
btc r10d, edi
mov r10, qword [rsp + 0x198]
lea eax, [r11 + rbx]
btr rbp, 0xc4
mov rbp, rdi
ror r8b, cl
not dl
stc
sar eax, 1
cmp r10d, r10d
sub r8b, al
mov dword [rsp + 0x1a8], eax
cmp dh, ch
btr r8w, 0x17
movzx r8, r9w
mov qword [rsp + 0x38], rax
test r15b, 0x20
and r8, r9
jmp 0x140585baa
mov r8d, dword [r9 + rax*4]
btc rdx, 0xf2
btr dx, r8w
and dl, r8b
mov eax, dword [r9 + rax*4]
shr dx, 0x81
sal r9b, 0x17
or dx, 0x40bb
sub r10, rax
and dl, 0x90
movzx eax, byte [rsp + 0x1a0]
lea r8, [r8 + rsi]
inc edx
cwd
sub r10, rsi
cqo
jmp 0x140585bf0
nop
movzx edx, byte [r10 + r8]
mov r9, r8
inc r9b
movzx r9d, byte [r8]
inc r8
cmp r10b, 0x33
test al, al
jmp 0x140585c0e
je 0x140585c37
mov ecx, ebp
mov eax, 0x14453576
stc
rol eax, cl
test si, 0x3d94
add al, bpl
xor dl, al
mov al, byte [rsp + 0x1a0]
jmp 0x140585c34
inc rbp
test dl, dl
jmp 0x140585c3e
je 0x140585c52
cmp dl, r9b
jmp 0x140585c4c
je 0x140585bf1
cmp dl, r9b
jmp 0x140585c5a
jb 0x140585ce7
cmp dl, r9b
jmp 0x140585c68
jbe 0x140585c9f
mov ebx, dword [rsp + 0x1a8]
xchg cx, dx
mov rdx, qword [rsp + 0x28]
cmovne cx, ax
movsx rcx, r11w
inc ch
mov ecx, dword [rsp + 0x190]
jmp 0x140585c93
inc ebx
jmp 0x140585c9a
jmp 0x140585d15
mov rdx, qword [rsp + 0x28]
xchg rcx, rax
lea ebx, [r11 + 1]
not cx
movsx ecx, r12w
mov eax, dword [rdx + 0x24]
setl cl
movzx cx, r8b
lea rcx, [rsi + rax]
lahf
cbw
mov rax, qword [rsp + 0x38]
jmp 0x140585ccd
movzx ecx, word [rcx + rax*2]
jmp 0x140585cd6
mov dword [rsp + 0x190], ecx
jmp 0x140585ce2
jmp 0x140585d15
mov r11d, dword [rsp + 0x1a8]
setp cl
movzx dx, r13b
mov rdx, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x190]
not r9b
dec r11d
ror r9b, cl
btr r9w, sp
rcl r9b, 0x12
cmp ebx, r11d
mov r9b, 0x88
jmp 0x140585d20
mov r9, qword [rsp + 0x40]
jmp 0x140585d2a
jle 0x140585b64
mov rbp, qword [rsp + 0x198]
movzx r9d, r9w
movzx r9w, r8b
mov r8d, dword [rsp + 0x30]
movsx r9d, r9w
movzx r9, bp
mov r9d, dword [rsp + 0x20]
jmp 0x140585d58
jmp 0x140585d65
mov r9d, dword [rsp + 0x20]
test cl, r8b
cmp ecx, dword [rdx + 0x14]
jae 0x140585b14
mov eax, dword [rdx + 0x1c]
adc edx, r14d
add rax, rsi
mov edx, dword [rax + rcx*4]
cmp bl, r15b
stc
test edx, edx
je 0x140585b14
cmp edx, r8d
jmp 0x140585d8e
jb 0x140586030
lea eax, [r9 + r8]
cmp edx, eax
jmp 0x140585d9f
jae 0x140586030
mov eax, edx
btc cx, r11w
ror cx, cl
add rax, rsi
bt cx, r12w
rcl bh, cl
movzx rbx, ax
mov rbx, rax
movzx ecx, byte [rax]
test r15d, r10d
clc
test cl, cl
jmp 0x140585dce
je 0x140585b14
cmp cl, 0x2e
jmp 0x140585ddc
je 0x140585e0d
mov cl, byte [rbx + 1]
inc rbx
cmp r14, 0x598a3c2c
jmp 0x140585df4
test cl, cl
jmp 0x140585dfb
jne 0x140585dd4
sub eax, eax
jmp 0x140585e08
jmp 0x14058603d
mov r8, rbx
clc
test spl, 0xe6
sub r8, rax
test ch, 0xca
test r12w, si
cmp r8, 0x104
jmp 0x140585e2b
jae 0x140585b14
mov rcx, rdi
test r8, r8
je 0x140585e88
lea r9, [rsp + 0x50]
sar dh, cl
shl dh, 0xca
sub r9, rax
sbb rdx, rdx
cwd
btr dx, r15w
nop
movsx edx, r11w
movzx edx, byte [rax]
clc
stc
test dl, dl
jmp 0x140585e65
je 0x140585e88
inc rcx
jmp 0x140585e73
mov byte [r9 + rax], dl
jmp 0x140585e7c
inc rax
cmp rcx, r8
jb 0x140585e59
mov byte [rsp + rcx + 0x50], dil
setp al
lea rcx, [rsp + 0x50]
not ax
cdqe
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
jmp 0x1404e937f
test rax, rax
jne 0x140585ed6
lea rcx, [rsp + 0x50]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov r11, rax
test r14b, sil
test rax, rax
jmp 0x140585ed0
je 0x140585b14
cmp r11, rsi
jmp 0x140585ede
jne 0x140585f8c
cmp byte [rsp + 0x1a0], dil
jmp 0x140585ef1
je 0x140585f69
lea rax, [rsp + 0x50]
adc cl, dil
sub rbp, rax
bswap dx
cqo
nop
cwde
setbe dl
lea rdx, [rsp + rdi + 0x50]
bswap cx
mov ecx, edi
movsxd rax, r12d
bts eax, edx
stc
mov eax, 0x14453576
rol eax, cl
test r10, r11
cmp cl, spl
stc
add al, dil
jmp 0x140585f37
xor al, byte [rdx + rbp]
mov byte [rdx], al
jmp 0x140585f41
je 0x140585f64
inc rdi
cmp spl, r10b
cmp r12b, 0x77
cmc
cmp rdi, 0x104
jmp 0x140585f5e
jb 0x140585f0c
lea rbp, [rsp + 0x50]
mov rdx, rbp
movzx rax, r13w
mov rcx, rsi
movzx eax, r13w
mov rax, 0x1e211140
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
jmp 0x14058603d
cmp byte [rbx + 1], 0x23
movzx dx, spl
cwd
jmp 0x140585f9c
lea rdx, [rbx + 1]
jmp 0x140585fa5
jne 0x14058600e
movzx edx, byte [rbx + 2]
add rbx, 2
test dl, dl
jmp 0x140585fba
je 0x14058600b
nop
inc al
movsx eax, r13w
lea eax, [rdx - 0x30]
inc rbx
cmp bx, 0xfd4
cmp al, 9
ja 0x14058600b
movsx eax, dl
adc ch, 0xd8
mov dl, byte [rbx]
rol cx, 0xd5
lea ecx, [rdi + rdi*4]
shl di, 0x93
bt di, r13w
ror dil, 0x81
lea edi, [rax + rcx*2 - 0x30]
cmc
cmp dl, r14b
test dl, dl
jmp 0x140586005
jne 0x140585fc7
movsxd rdx, edi
sub r8d, r8d
movzx rcx, sp
movsx cx, r14b
mov cx, r8w
mov rcx, r11
jmp 0x140586026
call fcn.14058598c
jmp 0x14058603d
mov eax, edx
shr ebx, 0xe4
bts ebx, r12d
lea rax, [rax + rsi]
mov rbx, qword [rsp + 0x170]
shr bpl, 0xa0
mov rdi, qword [rsp + 0x168]
test dx, 0x64c7
setb bpl
add rsp, 0x178
movsx ebp, r12w
xchg sil, sil
pop rsi
pop rbp
jmp 0x14058606f
ret