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

Disassembly:
mov qword [rsp + 8], rbx
cmp spl, 0xdb
test r14b, r11b
mov qword [rsp + 0x10], rsi
stc
cmp bp, di
mov qword [rsp + 0x18], rdi
stc
push rbp
rcr bp, cl
movzx bp, bl
push r12
rcr r12b, cl
setbe r12b
push r13
btc r12w, 0x1e
bt bp, si
push r14
inc r14w
push r15
mov rbp, rsp
mov r14, 0x6ffc765a
test rbx, r9
sub rsp, 0x40
xor r12d, 0x1278242b
mov r14, qword [rdx + 0x150]
sub r12b, bpl
mov r12, rcx
rcr cl, 6
sar ch, 0x22
sub esi, esi
jmp 0x1404d9a6f
mov qword [rbp - 0x10], rdx
cmovb ecx, edx
movzx rcx, dx
mov rcx, r14
jmp 0x1404d9a82
mov qword [rbp - 8], rsi
jmp 0x1404d9a8b
call fcn.1404b6bda
mov qword [r12 + 0x2b8], rax
btc edi, edx
cdq
lea r15d, [rsi + 0x31]
btr r8, 0x3c
sal r13w, 0x5d
sar rax, cl
lea r13d, [rsi + 7]
rcl dl, 0xad
rcr rcx, 0xbd
ror r9w, 0x9e
lea ecx, [r15 - 0x30]
bswap eax
rol r9b, cl
mov eax, 0x24924925
and dl, sil
mul ecx
bsr eax, r8d
cwde
movsx r8, dx
mov eax, ecx
setne r9b
bsf di, ax
adc dil, 0xf
mov r9d, r15d
rcl r8d, 0x51
shl r8w, cl
sub eax, edx
mov di, 0x9ef
movsxd rdi, r14d
mov r8, r14
shr eax, 1
cmp r12b, al
not edi
bts rdi, r9
add eax, edx
sub edx, 0x6bc6245e
shl dl, cl
mov edx, 1
rcr dil, 0x1c
xadd dil, dil
shr eax, 2
movsx edi, r8w
xchg di, di
cmp r8b, r9b
imul eax, eax, 7
add dil, 0x6e
sub ecx, eax
lea rdi, [r12 + rcx*8]
movsx ecx, bp
movsxd rcx, ecx
xchg ch, cl
lea rcx, [rbp - 0x10]
jmp 0x1404d9b4b
mov qword [rsp + 0x20], rdi
jmp 0x1404d9b55
call fcn.1404d300e
or esi, eax
cdqe
sete ah
lea r9d, [r15 - 7]
cmova ecx, r9d
movsx ecx, r11w
lea rax, [rdi + 0x38]
mov r8, r14
movsxd rcx, r11d
cwd
movzx rdx, r11w
mov edx, 1
movsx cx, dl
movzx rcx, sp
movzx cx, r15b
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x10]
jmp 0x1404d9b9d
call fcn.1404d300e
or esi, eax
cwde
lea rcx, [rbp - 0x10]
cdq
movzx r8, ax
cwde
lea rax, [rdi + 0x160]
mov r9d, r15d
movsxd rdx, r9d
cmovae dx, r14w
movzx r8w, bpl
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 2
jmp 0x1404d9bd8
call fcn.1404d300e
or esi, eax
movsxd rax, edx
lahf
cdqe
lea r9d, [r15 - 7]
xchg dx, ax
lea rax, [rdi + 0x198]
mov r8, r14
movzx rcx, r10w
bswap ecx
mov edx, 2
not cl
mov qword [rsp + 0x20], rax
not cl
lea rcx, [rbp - 0x10]
jmp 0x1404d9c12
call fcn.1404d300e
or esi, eax
jmp 0x1404d9c1e
inc r15d
sub r13, 1
jmp 0x1404d9c2a
jne 0x1404d9abd
lea r15d, [r13 + 0x38]
lea r13d, [r15 - 0x2c]
rdtsc
lea rdi, [r12 + 0xd0]
lea rax, [rdi - 0x60]
movsx ecx, ax
cmovle ecx, r14d
mov r8, r14
cmovo dx, bp
movzx r9, cx
lea r9d, [r15 + 0xc]
movzx rcx, si
movsxd rdx, edx
cwd
mov qword [rsp + 0x20], rax
xchg dx, dx
movsx edx, r12w
setns cl
mov edx, 1
lea rcx, [rbp - 0x10]
call fcn.1404d300e
mov r9d, r15d
btc cx, bp
clc
mov qword [rsp + 0x20], rdi
neg edx
btr rdx, 3
mov r8, r14
btr ecx, r10d
shr dh, 0xd2
lea rcx, [rbp - 0x10]
test bl, bpl
mov edx, 1
cmp r11b, r14b
clc
or esi, eax
call fcn.1404d300e
or esi, eax
setne cl
lahf
lea r9d, [r15 + 0xc]
movsx rbx, si
movsxd r8, edx
xchg r8b, dl
lea rax, [rdi + 0x100]
mov ebx, 2
mov r8b, 0x58
mov r8, r14
mov cl, ch
mov cx, 0x6ce5
mov qword [rsp + 0x20], rax
mov edx, ebx
xchg cx, cx
cmovg ecx, r8d
lea rcx, [rbp - 0x10]
jmp 0x1404d9cfa
call fcn.1404d300e
or esi, eax
lea rcx, [rbp - 0x10]
cmovns dx, r15w
movsx r9d, r9w
lea rax, [rdi + 0x160]
jmp 0x1404d9d1a
mov r9d, r15d
movsx dx, dl
xchg r8w, r8w
mov r8w, r15w
mov r8, r14
mov dx, ax
movsx rdx, r15w
mov qword [rsp + 0x20], rax
bswap rdx
mov dx, 0x645a
cqo
mov edx, ebx
jmp 0x1404d9d48
call fcn.1404d300e
or esi, eax
stc
add rdi, 8
jmp 0x1404d9d59
inc r15d
sub r13, 1
jmp 0x1404d9d65
jne 0x1404d9c42
lea rax, [r12 + 0x130]
cqo
xchg r9b, r9b
jmp 0x1404d9d7d
mov r8, r14
jmp 0x1404d9d8c
lea edi, [rbx + 0x26]
mov ch, ch
cqo
mov qword [rsp + 0x20], rax
xchg cx, cx
mov r9d, edi
mov dx, 0x7674
cwd
lea edx, [rbx - 1]
setp cl
bswap ecx
xchg ecx, ecx
lea rcx, [rbp - 0x10]
jmp 0x1404d9db7
call fcn.1404d300e
or esi, eax
not dx
movzx ebx, cx
lea ebx, [rdi + 1]
rdtsc
movsx r13w, r8b
movsxd rdx, ecx
lea rax, [r12 + 0x138]
mov r9w, ax
bswap r8w
mov r9d, ebx
cdq
movsx r13w, cl
movsx rcx, ax
lea r13d, [rdi - 0x27]
movzx ecx, r8w
mov qword [rsp + 0x20], rax
movsx rcx, si
mov dl, r15b
movzx ecx, r12w
mov r8, r14
movsx cx, cl
not dh
lea rcx, [rbp - 0x10]
movzx rdx, r10w
seto dh
mov edx, r13d
call fcn.1404d300e
mov r9d, edi
lea rcx, [rbp - 0x10]
or esi, eax
lea edi, [rbx - 0x27]
cdqe
lea rax, [r12 + 0x290]
cqo
mov edx, edi
mov r8, r14
jmp 0x1404d9e44
mov qword [rsp + 0x20], rax
call fcn.1404d300e
or esi, eax
lea rcx, [rbp - 0x10]
cdq
cmovne r8d, esi
lea rax, [r12 + 0x298]
mov r9d, ebx
movsxd rdx, esp
movsx r8, bx
mov r8, r14
movzx edx, bp
cwd
mov qword [rsp + 0x20], rax
mov dx, 0x2218
cqo
movsxd rdx, r10d
mov edx, edi
jmp 0x1404d9e88
call fcn.1404d300e
or esi, eax
lea r15d, [rbx - 0xa]
not dl
lea rax, [r12 + 0x140]
movzx rdx, r8w
sets r9b
mov r9d, r15d
mov r8b, 0x65
cwd
mov r8, r14
mov qword [rsp + 0x20], rax
cqo
movsx cx, dl
mov edx, r13d
movsxd rcx, ecx
lea rcx, [rbp - 0x10]
jmp 0x1404d9eca
call fcn.1404d300e
or esi, eax
lahf
movzx cx, r8b
cdq
lea edi, [rbx - 9]
cdq
movsx dx, bpl
not al
lea rax, [r12 + 0x148]
xchg cl, r9b
not r9b
mov cl, 0x86
mov r9d, edi
cmovae r8d, ecx
not cx
mov r8, r14
not dh
bswap cx
mov qword [rsp + 0x20], rax
movsxd rcx, esi
cqo
mov edx, r13d
movzx cx, sil
lea rcx, [rbp - 0x10]
jmp 0x1404d9f20
call fcn.1404d300e
or esi, eax
not dh
lea rcx, [rbp - 0x10]
cmove ax, bx
not dh
lea rax, [r12 + 0x150]
cwd
movsx rbx, r10w
mov ebx, 0x1003
xchg r9w, r9w
mov r9b, 0x3c
mov r9d, ebx
movzx r8, di
movsxd r8, r13d
mov qword [rsp + 0x20], rax
cdq
movsx edx, ax
jmp 0x1404d9f65
mov r8, r14
mov edx, r13d
jmp 0x1404d9f70
call fcn.1404d300e
or esi, eax
btc r9w, 0x88
adc r8b, dl
shl r8b, cl
lea r9d, [rbx + 6]
btr ax, r14w
bts r8d, edi
lea rax, [r12 + 0x158]
neg cl
not r8b
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x10]
jmp 0x1404d9fb0
call fcn.1404d300e
mov r9d, r15d
lea rcx, [rbp - 0x10]
or esi, eax
cqo
bswap r15d
lea r15d, [r13 + 1]
lea rax, [r12 + 0x2a0]
mov edx, r15d
mov r8b, sil
bswap r8w
movsx r8w, r15b
mov r8, r14
mov qword [rsp + 0x20], rax
jmp 0x1404d9feb
call fcn.1404d300e
or esi, eax
movsx cx, bpl
lea rax, [r12 + 0x2a8]
mov r9d, edi
mov qword [rsp + 0x20], rax
movsx edx, si
mov r8, r14
cdq
cmovge rcx, rdi
lea rcx, [rbp - 0x10]
mov edx, r15d
jmp 0x1404da01e
call fcn.1404d300e
or esi, eax
cdqe
mov r9d, 0x2ae26d21
not dh
lea rcx, [rbp - 0x10]
lea rax, [r12 + 0x2b0]
mov r9d, ebx
mov r8, r14
mov qword [rsp + 0x20], rax
not dh
movzx edx, dx
mov edx, r15d
jmp 0x1404da053
call fcn.1404d300e
lea r11, [rsp + 0x40]
cmp r12b, 0xef
ror r14b, 0xad
or eax, esi
movzx r12d, r10w
mov rbx, qword [r11 + 0x30]
movzx ebp, r10w
movzx r12, dx
mov rsi, qword [r11 + 0x38]
cmovs r12, rdi
sete al
mov rdi, qword [r11 + 0x40]
bswap r13w
not r12b
mov rsp, r11
bswap r13w
not bpl
mov r14w, r12w
pop r15
pop r14
pop r13
pop r12
not rbp
movsx ebp, ax
pop rbp
ret