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

Disassembly:
mov qword [rsp + 8], rbx
test r9b, 0x1c
mov qword [rsp + 0x10], rsi
clc
stc
mov qword [rsp + 0x18], rdi
cmp al, r8b
jmp 0x1404d2e85
push rbp
xadd bpl, bpl
cmc
push r12
sub bpl, 0xac
shl bp, cl
xchg bpl, r12b
push r13
sar r12b, 0xc
xchg bpl, bpl
add bp, bp
push r14
push r15
shr rbp, cl
mov rbp, rsp
cmovne r12d, ebx
sar r12, cl
sub r14d, r15d
sub rsp, 0x40
mov r14, qword [rdx + 0x150]
movzx r12w, r8b
mov r12w, dx
mov r12, rcx
test r8b, spl
and ecx, eax
btc cx, 0x45
sub esi, esi
mov ch, 0x61
movzx rcx, r15w
mov qword [rbp - 0x10], rdx
mov rcx, r14
jmp 0x1404d2eed
mov qword [rbp - 8], rsi
jmp 0x1404d2ef6
call fcn.1404b01a7
mov qword [r12 + 0x2b8], rax
lea r15d, [rsi + 0x31]
lea r13d, [rsi + 7]
lea ecx, [r15 - 0x30]
mov eax, 0x24924925
add dx, 0x76ce
rol r8b, 0xbc
cmovp edi, edx
mul ecx
bts r8d, edx
mov eax, ecx
movzx rdi, ax
rcr rdi, cl
mov r9d, r15d
adc r8b, 0xb5
btc r8w, 0x9c
sub eax, edx
cmovo r8, rcx
and r8b, 0xee
xchg r8w, di
mov r8, r14
btc di, 0xbf
shr eax, 1
add eax, edx
movsx rdx, r8w
bt rdx, r14
mov edx, 1
shr eax, 2
cmp cl, 0x21
bsf di, ax
imul eax, eax, 7
sub ecx, eax
xchg di, di
movsxd rdi, r8d
cmovb di, r12w
lea rdi, [r12 + rcx*8]
movsx ecx, r11w
jmp 0x1404d2f8e
lea rcx, [rbp - 0x10]
jmp 0x1404d2f97
mov qword [rsp + 0x20], rdi
call fcn.1404cc4ec
or esi, eax
cqo
bswap r9w
lea r9d, [r15 - 7]
cwde
lea rax, [rdi + 0x38]
movzx rcx, r13w
mov r8, r14
movzx dx, r14b
cwd
sets ch
mov edx, 1
movzx cx, bh
movzx rcx, di
not ch
mov qword [rsp + 0x20], rax
mov rcx, rax
bswap cx
setno ch
lea rcx, [rbp - 0x10]
jmp 0x1404d2fe9
call fcn.1404cc4ec
or esi, eax
cbw
bswap ax
lea rcx, [rbp - 0x10]
mov r8, 0x6b26251e
rdtsc
lea rax, [rdi + 0x160]
movsx r8d, r14w
mov dl, r14b
cwd
mov r9d, r15d
not r8w
mov dl, dil
mov r8, r14
mov dx, bx
movzx dx, r9b
mov qword [rsp + 0x20], rax
cmovs dx, r14w
cwd
mov edx, 2
jmp 0x1404d303d
call fcn.1404cc4ec
or esi, eax
jmp 0x1404d304e
lea r9d, [r15 - 7]
cdq
lea rax, [rdi + 0x198]
cmovb r8, r10
mov r8, r14
mov edx, 2
movzx rcx, r9w
mov qword [rsp + 0x20], rax
cmovp cx, r9w
movzx ecx, r14w
lea rcx, [rbp - 0x10]
call fcn.1404cc4ec
or esi, eax
jmp 0x1404d3088
inc r15d
cmc
jmp 0x1404d3091
sub r13, 1
jmp 0x1404d309a
jne 0x1404d2f0b
lea r15d, [r13 + 0x38]
cwd
cdqe
lea r13d, [r15 - 0x2c]
cwde
lea rdi, [r12 + 0xd0]
jmp 0x1404d30c2
lea rax, [rdi - 0x60]
movzx r9d, bx
cwd
mov r8, r14
mov cx, bx
lea r9d, [r15 + 0xc]
cdq
mov qword [rsp + 0x20], rax
cdq
mov dh, bl
cwd
mov edx, 1
lea rcx, [rbp - 0x10]
jmp 0x1404d30ef
call fcn.1404cc4ec
mov r9d, r15d
movsx r8w, r8b
mov r8b, r15b
movzx dx, ch
mov qword [rsp + 0x20], rdi
bt edx, 0x79
mov r8, r14
xor ecx, eax
lea rcx, [rbp - 0x10]
mov edx, 1
test r9b, 0x93
or esi, eax
call fcn.1404cc4ec
or esi, eax
lea r9d, [r15 + 0xc]
lea rax, [rdi + 0x100]
movzx dx, al
mov ebx, 2
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebx
movsx rcx, ax
movsx cx, sil
cmovo cx, r15w
lea rcx, [rbp - 0x10]
jmp 0x1404d315c
call fcn.1404cc4ec
or esi, eax
cdq
cwd
movsx ecx, di
lea rcx, [rbp - 0x10]
jmp 0x1404d3174
lea rax, [rdi + 0x160]
mov r9d, r15d
cmovb rdx, r14
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebx
jmp 0x1404d3191
call fcn.1404cc4ec
or esi, eax
stc
cmc
cmp r11b, 0xb9
add rdi, 8
jmp 0x1404d31a7
inc r15d
cmc
cmp r13b, 0x56
sub r13, 1
jmp 0x1404d31b8
jne 0x1404d30c2
lea rax, [r12 + 0x130]
cdq
mov r8, r14
mov r9w, 0x3d70
cdq
lea edi, [rbx + 0x26]
mov qword [rsp + 0x20], rax
xchg r9b, r9b
mov r9d, edi
movzx rcx, r8w
lea edx, [rbx - 1]
movsx rcx, si
lea rcx, [rbp - 0x10]
jmp 0x1404d31f2
call fcn.1404cc4ec
or esi, eax
rdtsc
lea ebx, [rdi + 1]
cdq
cqo
lea rax, [r12 + 0x138]
cdq
mov r9d, ebx
movzx r13d, bx
lea r13d, [rdi - 0x27]
mov qword [rsp + 0x20], rax
xchg ch, ch
movzx r8, r8w
mov r8, r14
mov ch, 0xdd
lea rcx, [rbp - 0x10]
movzx dx, bl
cwd
mov edx, r13d
call fcn.1404cc4ec
mov r9d, edi
lea rcx, [rbp - 0x10]
movsxd rdi, ebx
ror r8b, cl
cmp r11b, cl
or esi, eax
jmp 0x1404d324f
lea edi, [rbx - 0x27]
cwde
mov rdx, 0x5f8427be
jmp 0x1404d325f
lea rax, [r12 + 0x290]
bswap r8d
xchg rdx, rdx
jmp 0x1404d3272
mov edx, edi
movsx r8, r11w
movsx r8w, r9b
movzx r8d, r12w
mov r8, r14
jmp 0x1404d3289
mov qword [rsp + 0x20], rax
jmp 0x1404d3293
call fcn.1404cc4ec
or esi, eax
movsx r8, sp
not cx
cdq
lea rcx, [rbp - 0x10]
bswap r9
lea rax, [r12 + 0x298]
movzx rdx, r14w
xchg r9b, dl
movzx r8d, di
mov r9d, ebx
mov r8, r14
jmp 0x1404d32cc
mov qword [rsp + 0x20], rax
cdq
mov edx, edi
jmp 0x1404d32d9
call fcn.1404cc4ec
or esi, eax
lea r15d, [rbx - 0xa]
movsx cx, bpl
movsx rdx, cx
movzx rax, di
lea rax, [r12 + 0x140]
mov r9d, r15d
movsx rdx, bp
seta dl
movzx r8d, bp
mov r8, r14
cqo
mov qword [rsp + 0x20], rax
seta cl
cwd
bswap edx
mov edx, r13d
lea rcx, [rbp - 0x10]
jmp 0x1404d3324
call fcn.1404cc4ec
or esi, eax
movsx cx, dil
mov r8d, esi
mov rdx, 0x1d373c3f
lea edi, [rbx - 9]
movzx ecx, dx
jmp 0x1404d3345
lea rax, [r12 + 0x148]
movzx dx, r8b
mov r9d, edi
mov r8, r14
not dh
movsx dx, r11b
cdq
mov qword [rsp + 0x20], rax
movsxd rcx, r12d
mov rcx, 0x565407a8
movzx rcx, cx
mov edx, r13d
lea rcx, [rbp - 0x10]
jmp 0x1404d337f
call fcn.1404cc4ec
or esi, eax
lea rcx, [rbp - 0x10]
movsx r8, r14w
cmove bx, r8w
movsxd r8, r11d
lea rax, [r12 + 0x150]
movsxd r9, ebx
cmovae r8, r15
cqo
mov ebx, 0x1003
movzx r8d, cx
setle r9b
movzx r8w, bl
mov r9d, ebx
mov qword [rsp + 0x20], rax
mov r8, r14
movsx dx, r8b
movzx rdx, r10w
mov edx, r13d
jmp 0x1404d33d5
call fcn.1404cc4ec
or esi, eax
dec rcx
lea r9d, [rbx + 6]
btr cx, ax
setle ah
lea rax, [r12 + 0x158]
shl r8b, 0x64
rol r8w, 0x63
mov r8, r14
or cx, bp
bsf ecx, r14d
xor edx, edx
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x10]
call fcn.1404cc4ec
mov r9d, r15d
lea rcx, [rbp - 0x10]
jmp 0x1404d3421
or esi, eax
lea r15d, [r13 + 1]
movsxd rdx, r11d
bswap r8w
jmp 0x1404d3433
lea rax, [r12 + 0x2a0]
cdq
movzx r8w, spl
bswap dx
mov edx, r15d
mov r8b, 0x7f
movsxd r8, r11d
mov r8, r14
jmp 0x1404d3455
mov qword [rsp + 0x20], rax
call fcn.1404cc4ec
or esi, eax
jmp 0x1404d346d
lea rax, [r12 + 0x2a8]
movsx dx, ch
xchg ecx, r9d
mov r9d, edi
movzx rcx, r15w
cmovnp edx, r11d
mov qword [rsp + 0x20], rax
setne dl
mov r8, r14
jmp 0x1404d349e
lea rcx, [rbp - 0x10]
bswap rdx
mov edx, r15d
call fcn.1404cc4ec
or esi, eax
cwd
movzx cx, r8b
lea rcx, [rbp - 0x10]
bswap r8
lea rax, [r12 + 0x2b0]
movsx r8, r14w
movzx edx, ax
mov r9d, ebx
not r8b
movzx rdx, r11w
mov r8, r14
setl dl
not dl
mov qword [rsp + 0x20], rax
movzx edx, r14w
mov edx, r15d
jmp 0x1404d34ef
call fcn.1404cc4ec
lea r11, [rsp + 0x40]
neg r13b
movsx r15, sp
ror dil, cl
or eax, esi
mov rbx, qword [r11 + 0x30]
movsx r14w, dil
movsxd rsi, r14d
mov rsi, qword [r11 + 0x38]
mov r12w, r13w
sete al
mov rdi, qword [r11 + 0x40]
mov rsp, r11
movsx r12w, r12b
mov bp, 0x5233
movzx r13, bp
pop r15
xchg r12b, r12b
pop r14
mov ebp, r11d
movsx rbp, si
pop r13
jmp 0x1404d354e
pop r12
jmp 0x1404d355a
pop rbp
jmp 0x1404d3560
ret