Function at 0x1404d5721
Capabilities:
Encrypt data using rc4 prga
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + 8], rbx
cmp r13d, eax
mov qword [rsp + 0x10], rsi
cmp r15d, 0x5cec39e1
cmc
mov qword [rsp + 0x18], rdi
push rbp
cmp ch, 0x34
push r12
sbb bp, 0x7ccf
cmp r15w, dx
push r13
shrd r12d, ebp, 0x29
rol r12b, 0x92
push r14
shld bp, r13w, 0x6c
push r15
neg bp
xadd rbp, r14
adc r12b, r15b
mov rbp, rsp
rcl r12d, 0xe2
btr r14w, bp
adc r14b, r15b
sub rsp, 0x40
sar r12b, 0xc0
mov r14, qword [rdx + 0x150]
mov r12, rcx
btc cx, 0x78
xadd cx, cx
xor esi, esi
movzx rcx, cx
movzx cx, r15b
mov qword [rbp - 0x10], rdx
cmovns cx, r10w
seta cl
bswap cx
mov rcx, r14
jmp 0x1404d57b5
mov qword [rbp - 8], rsi
call fcn.1404b2ddf
mov qword [r12 + 0x2b8], rax
xchg r13w, r13w
rcr r9b, cl
movzx rdx, bp
lea r15d, [rsi + 0x31]
mov cx, 0x8e
rdtsc
shl r13b, 0x45
lea r13d, [rsi + 7]
xor cx, r10w
test r10b, dl
lea ecx, [r15 - 0x30]
mov eax, 0x24924925
stc
bswap r9w
mul ecx
sbb ah, 0
add r9, 0x1e5432e1
mov eax, ecx
setno r9b
bt r8w, 0x52
sub r8b, 0xc1
mov r9d, r15d
sub eax, edx
mov r8, r14
sbb di, 0x5c8a
sal dil, 0x83
shl edi, 0xff
shr eax, 1
add eax, edx
cqo
cmp r8b, 0xfd
mov edx, 1
ror di, 0x16
shr eax, 2
shld di, ax, 0x50
imul eax, eax, 7
rcl di, cl
jmp 0x1404d584e
sub ecx, eax
movzx di, sil
lea rdi, [r12 + rcx*8]
mov cl, r13b
lea rcx, [rbp - 0x10]
mov qword [rsp + 0x20], rdi
call fcn.1404cecf7
or esi, eax
not ch
movzx ax, r9b
jmp 0x1404d5878
lea r9d, [r15 - 7]
lea rax, [rdi + 0x38]
mov r8, r14
jmp 0x1404d5888
mov edx, 1
movsxd rcx, ebx
sets cl
bswap ecx
mov qword [rsp + 0x20], rax
movsx cx, bh
jmp 0x1404d58a3
lea rcx, [rbp - 0x10]
jmp 0x1404d58ac
call fcn.1404cecf7
or esi, eax
lea rcx, [rbp - 0x10]
movzx r8, cx
cwde
lea rax, [rdi + 0x160]
cmovge r9d, eax
cwd
movsx r9d, sp
mov r9d, r15d
mov r8, r14
mov qword [rsp + 0x20], rax
mov dl, spl
mov edx, 2
call fcn.1404cecf7
or esi, eax
bswap r9w
movzx rcx, si
lea r9d, [r15 - 7]
movsx ax, r10b
cmovl rcx, rax
cwd
lea rax, [rdi + 0x198]
mov r8, r14
movsx dx, r14b
movsxd rcx, r12d
mov edx, 2
movsxd rcx, r15d
movzx cx, sil
movzx ecx, r12w
mov qword [rsp + 0x20], rax
movsxd rcx, ecx
lea rcx, [rbp - 0x10]
jmp 0x1404d5932
call fcn.1404cecf7
or esi, eax
jmp 0x1404d593e
inc r15d
cmp dx, 0x208b
sub r13, 1
jmp 0x1404d594f
jne 0x1404d57ea
lea r15d, [r13 + 0x38]
cwd
xchg r9d, r9d
cbw
lea r13d, [r15 - 0x2c]
movzx r9w, r12b
movsx ecx, r11w
cmovg r8, r12
lea rdi, [r12 + 0xd0]
cqo
lea rax, [rdi - 0x60]
cqo
cwd
mov r8, rbx
mov r8, r14
movsxd rcx, r11d
movzx ecx, r9w
mov edx, ebx
lea r9d, [r15 + 0xc]
bswap edx
mov qword [rsp + 0x20], rax
cmovp rcx, rdx
movsx rdx, r14w
movzx dx, r12b
mov edx, 1
movzx cx, r14b
movsx cx, sil
bswap ecx
lea rcx, [rbp - 0x10]
jmp 0x1404d59c4
call fcn.1404cecf7
mov r9d, r15d
adc r8w, 0x1ca
shrd rcx, r9, 0x1f
mov qword [rsp + 0x20], rdi
sal rcx, cl
mov r8, r14
not dh
lea rcx, [rbp - 0x10]
jmp 0x1404d59ed
mov edx, 1
clc
stc
or esi, eax
jmp 0x1404d59fb
call fcn.1404cecf7
or esi, eax
movsx r8d, r10w
lea r9d, [r15 + 0xc]
jmp 0x1404d5a0f
lea rax, [rdi + 0x100]
movzx rcx, bx
bswap rbx
cwd
mov ebx, 2
mov r8, r14
mov qword [rsp + 0x20], rax
bswap dx
movsx rcx, bx
cqo
mov edx, ebx
movsx ecx, bp
lea rcx, [rbp - 0x10]
jmp 0x1404d5a43
call fcn.1404cecf7
or esi, eax
movsxd r8, edi
mov r9w, r13w
lea rcx, [rbp - 0x10]
lea rax, [rdi + 0x160]
jmp 0x1404d5a61
mov r9d, r15d
mov r8, r14
movzx rdx, bx
bswap dx
not dl
mov qword [rsp + 0x20], rax
movzx rdx, r14w
cdq
mov dx, 0x69eb
mov edx, ebx
call fcn.1404cecf7
or esi, eax
clc
cmc
cmp dx, 0x697
add rdi, 8
jmp 0x1404d5a97
inc r15d
cmc
cmp bpl, 0xb2
sub r13, 1
jne 0x1404d597b
lea rax, [r12 + 0x130]
mov r8, r14
lea edi, [rbx + 0x26]
mov qword [rsp + 0x20], rax
cwd
cqo
mov r9d, edi
cqo
lea edx, [rbx - 1]
seta ch
mov cx, 0x25e7
movzx ecx, cx
lea rcx, [rbp - 0x10]
call fcn.1404cecf7
or esi, eax
cwde
movsx bx, r8b
cbw
lea ebx, [rdi + 1]
lea rax, [r12 + 0x138]
cwd
movzx rdx, bx
mov r9d, ebx
bswap edx
lea r13d, [rdi - 0x27]
cwd
seto dh
mov ecx, ebx
mov qword [rsp + 0x20], rax
movsx r8, sp
mov r8, r14
bswap edx
lea rcx, [rbp - 0x10]
cdq
mov edx, r13d
call fcn.1404cecf7
mov r9d, edi
cdq
adc r8b, 0x31
lea rcx, [rbp - 0x10]
cmc
btc rdi, 4
sar r8b, 0x4f
or esi, eax
movsx ax, r14b
cdq
lea edi, [rbx - 0x27]
xchg dx, ax
cdqe
lea rax, [r12 + 0x290]
movsx r8d, r13w
movsx rdx, r15w
setle r8b
mov edx, edi
bswap r8w
setl r8b
not r8b
mov r8, r14
jmp 0x1404d5b6f
mov qword [rsp + 0x20], rax
jmp 0x1404d5b79
call fcn.1404cecf7
or esi, eax
movzx dx, spl
movsx rdx, r10w
lea rcx, [rbp - 0x10]
cdqe
lea rax, [r12 + 0x298]
cwd
movzx r9d, cx
movsx rdx, r14w
mov r9d, ebx
bswap r8w
mov r8, r14
movzx rdx, r14w
setl dh
movsx edx, r10w
mov qword [rsp + 0x20], rax
xchg dl, dl
jmp 0x1404d5bc2
mov edx, edi
call fcn.1404cecf7
or esi, eax
mov r15w, 0xa59
cwde
lahf
lea r15d, [rbx - 0xa]
xchg r8b, al
lea rax, [r12 + 0x140]
bswap r8
cqo
seta r8b
mov r9d, r15d
not rcx
mov r8, r14
movzx rcx, r11w
mov qword [rsp + 0x20], rax
mov rdx, rdi
cdq
mov edx, r13d
movzx rcx, r12w
lea rcx, [rbp - 0x10]
jmp 0x1404d5c10
call fcn.1404cecf7
or esi, eax
cmovae r8w, sp
setle r8b
cbw
lea edi, [rbx - 9]
mov ax, r9w
cdqe
lea rax, [r12 + 0x148]
mov r9d, edi
movsx dx, r10b
cqo
movzx dx, r9b
mov r8, r14
movzx edx, cx
mov qword [rsp + 0x20], rax
xchg rdx, rcx
movsx dx, bpl
movsxd rdx, ebx
mov edx, r13d
movsxd rcx, r11d
lea rcx, [rbp - 0x10]
jmp 0x1404d5c67
call fcn.1404cecf7
or esi, eax
mov dl, 0xdb
lea rcx, [rbp - 0x10]
lea rax, [r12 + 0x150]
cwd
not r8d
mov ebx, 0x1003
cwd
movzx rdx, dx
mov r9d, ebx
movsx dx, sil
mov qword [rsp + 0x20], rax
cdq
mov r8, r14
mov edx, r13d
call fcn.1404cecf7
or esi, eax
and cl, 0xd7
lea r9d, [rbx + 6]
bt r8w, 0xae
movzx r8w, r11b
cbw
lea rax, [r12 + 0x158]
add r8b, 0x3a
and r8b, 0x54
movzx r8, r13w
mov r8, r14
cmp dl, r11b
xor edx, edx
movzx cx, r15b
bswap ecx
mov qword [rsp + 0x20], rax
xchg ch, ch
lea rcx, [rbp - 0x10]
call fcn.1404cecf7
mov r9d, r15d
mov ch, 0xdf
sar ch, cl
lea rcx, [rbp - 0x10]
cwd
stc
or esi, eax
lahf
lea r15d, [r13 + 1]
rdtsc
lea rax, [r12 + 0x2a0]
jmp 0x1404d5d16
mov edx, r15d
movsx r8d, dx
movzx r8, bx
bswap r8w
mov r8, r14
jmp 0x1404d5d2d
mov qword [rsp + 0x20], rax
call fcn.1404cecf7
or esi, eax
lea rax, [r12 + 0x2a8]
cqo
mov r9, 0x655557bb
mov r9d, edi
mov qword [rsp + 0x20], rax
movsxd r8, r13d
mov r8, r14
cwd
movsxd rcx, edx
lea rcx, [rbp - 0x10]
movzx dx, r9b
xchg dl, dh
mov edx, r15d
jmp 0x1404d5d70
call fcn.1404cecf7
or esi, eax
movsx rcx, si
lea rcx, [rbp - 0x10]
cdqe
seto r9b
cwde
lea rax, [r12 + 0x2b0]
movsx r8, r10w
jmp 0x1404d5d97
mov r9d, ebx
mov r8, r14
movsxd rdx, esp
mov dx, r14w
mov qword [rsp + 0x20], rax
bswap dx
sets dl
mov edx, r15d
jmp 0x1404d5db7
call fcn.1404cecf7
lea r11, [rsp + 0x40]
or eax, esi
xchg r15b, al
movsx r12d, dx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov r15b, 0x23
sete al
movsx r13w, r8b
xchg r15b, r14b
movsx r13, si
mov rdi, qword [r11 + 0x40]
jmp 0x1404d5ded
mov rsp, r11
not r14b
movsxd r14, r13d
bswap r15
pop r15
movzx r12d, r15w
pop r14
mov r13b, 0x64
pop r13
bswap r12d
setbe r12b
pop r12
pop rbp
jmp 0x1404d5e15
ret