Function at 0x1401b77f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
movzx r9d, byte [rdx + 0x38]
movzx r8d, byte [rdx + 0x3a]
test r8b, r8b
setne al
cmp r9b, 1
ja 0x1401b7866
test r8b, r8b
jne 0x1401b784a
movzx esi, byte [rdx + 0x10]
lea r8d, [rsi - 5]
cmp r8b, 1
ja 0x1401b784a
mov r10, qword [rdx]
mov r8, qword [rdx + 8]
xor r11d, r11d
test r9b, r9b
jne 0x1401b7841
cmp sil, 6
je 0x1401b7841
mov r11d, 2
cmp r8, 1
jbe 0x1401b7a35
cmp r11, r8
jne 0x1401b7993
xor r8d, r8d
test r9b, r9b
jne case.default.0x1401b7983
movzx r9d, byte [rdx + 0x10]
cmp r9, 6
jne 0x1401b7975
xor r9d, r9d
jmp 0x1401b786e
xor eax, eax
xor r8d, r8d
xor r9d, r9d
movzx r11d, r8b
movzx edi, al
lea r10, [r11 + rdi]
add r10, r9
mov rax, qword [rdx + 8]
cmp r10, rax
ja 0x1401b7a35
mov rsi, qword [rdx]
lea r8, [rsi + r10]
movzx edx, byte [rdx + 0x10]
cmp r10, rax
jne 0x1401b789e
xor r11d, r11d
jmp 0x1401b7919
add r9, rdi
add r9, r11
sub r9, rax
inc r9
lea rdi, [rax + rsi]
dec rdi
xor r11d, r11d
cmp dl, 3
jae 0x1401b78e0
nop dword [rax]
cmp byte [rdi], 0x5c
je 0x1401b78fb
inc r9
dec rdi
cmp r9, 1
jne 0x1401b78c0
jmp 0x1401b7919
movzx ebx, byte [rdi]
cmp ebx, 0x2f
je 0x1401b78fb
cmp ebx, 0x5c
je 0x1401b78fb
inc r9
dec rdi
cmp r9, 1
jne 0x1401b78e0
jmp 0x1401b7919
neg r9
add r10, r9
inc r10
cmp r10, rax
ja 0x1401b7a35
add rsi, r10
mov r11d, 1
mov r8, rsi
sub rax, r10
je 0x1401b7947
mov r9b, 9
cmp rax, 2
je 0x1401b794c
cmp rax, 1
jne 0x1401b795f
cmp byte [r8], 0x2e
jne 0x1401b795f
xor r9d, r9d
cmp dl, 3
setae r9b
lea r9d, [r9 + r9*2]
add r9d, 7
jmp 0x1401b795f
mov r9b, 0xa
jmp 0x1401b795f
cmp byte [r8], 0x2e
jne 0x1401b795f
cmp byte [r8 + 1], 0x2e
sete r9b
xor r9b, 9
add r11, rax
mov qword [rcx], r11
mov byte [rcx + 8], r9b
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], rax
mov dword [rcx + 0x18], eax
pop rbx
pop rdi
pop rsi
ret
lea r10, [0x140263968]
movsxd r9, dword [r10 + r9*4]
add r9, r10
jmp r9
mov r9, qword [rdx + 0x20]
add r9, 4
jmp 0x1401b786e
add r8, r10
lea rsi, [r10 + r11]
inc rsi
cmp rsi, r8
sete r8b
movzx r10d, byte [r10 + r11]
test r8b, 1
jne 0x1401b79d1
cmp r10b, 0x2e
jne 0x1401b79d1
movzx r8d, byte [rsi]
cmp r8b, 0x5c
sete r10b
cmp r8b, 0x2f
sete r8b
or r8b, r10b
jmp 0x1401b784d
cmp r10b, 0x2e
sete r10b
and r8b, r10b
jmp 0x1401b784d
mov r9, qword [rdx + 0x20]
mov r10, qword [rdx + 0x30]
xor byte [rbp - 0x73], cl
pop rdx
add dword [rbp - 0x7b], ecx
ror byte [rbp + 0xf], cl
fimul dword [rbp + 1]
fimul dword [rbp + 1]
invalid
add r9, 8
jmp 0x1401b786e
mov r9d, 6
jmp 0x1401b786e
mov r9, qword [rdx + 0x20]
mov r10, qword [rdx + 0x30]
xor byte [rbp - 0x73], cl
pop rdx
add dword [rbp - 0x7b], ecx
ror byte [rbp + 0xf], cl
fimul dword [rbp + 1]
invalid
add r9, 2
jmp 0x1401b786e
mov r9d, 2
jmp 0x1401b786e
ud2
mov byte [rcx], 0xa
mov rax, rcx
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [rdx]
mov r12, qword [rdx + 8]
lea r14, [0x140263980]
mov r10, r12
jmp 0x1401b7afe
mov r9, qword [rsp + 8]
test r9, r9
jne case.0x1401b7b82.2
mov byte [rdx + 0x38], 1
mov r13b, 1
mov r9, rbp
mov rbp, r9
cmp r13b, bl
ja 0x1401b7a5b
test r13b, r13b
je 0x1401b7b70
movzx r9d, r13b
cmp r9d, 1
jne 0x1401b7b90
mov byte [rdx + 0x38], 2
test dil, dil
jne 0x1401b7ca4
mov r13b, 2
cmp eax, 3
jb 0x1401b7aef
cmp eax, 5
je 0x1401b7aef
cmp eax, 6
jne 0x1401b7cf5
test r12, r12
je 0x1401b7c6a
movzx r9d, byte [rbp]
cmp r12, 1
je 0x1401b7c72
cmp r9b, 0x2e
jne 0x1401b7c72
invalid
movzx r9d, byte [rbp + 1]
cmp r9d, 0x2f
je 0x1401b7c86
cmp r9d, 0x5c
jne 0x1401b7aef
jmp 0x1401b7c86
cmp al, 6
je case.default.0x1401b7b82
movsxd r11, dword [r14 + rax*4]
add r11, r14
mov r9, r8
jmp r11
mov r9, qword [rsp]
jmp case.0x1401b7b82.0
test r12, r12
je 0x1401b7cc2
xor r15d, r15d
cmp al, 3
jae 0x1401b7bc0
cmp byte [rbp + r15], 0x5c
je 0x1401b7c03
inc r15
cmp r12, r15
jne 0x1401b7ba0
jmp 0x1401b7bda
movzx r9d, byte [rbp + r15]
cmp r9d, 0x2f
je 0x1401b7c03
cmp r9d, 0x5c
je 0x1401b7c03
inc r15
cmp r12, r15
jne 0x1401b7bc0
xor r9d, r9d
mov r15, r12
test r15, r15
jne 0x1401b7c0e
sub r12, r9
jb case.default.0x1401b7d2b
add r9, rbp
mov qword [rdx], r9
mov qword [rdx + 8], r12
mov r13b, 2
mov r10, r12
jmp 0x1401b7af2
mov r9d, 1
test r15, r15
je 0x1401b7be5
mov r10, rbp
mov r11d, esi
cmp r15, 1
je 0x1401b7c30
mov r11b, 9
cmp r15, 2
jne 0x1401b7c42
cmp byte [rbp], 0x2e
jne 0x1401b7c42
lea r10, [rbp + 1]
mov r11b, 8
cmp byte [r10], 0x2e
movzx r11d, r11b
mov r10d, 9
cmovne r11d, r10d
add r9, r15
sub r12, r9
jb case.default.0x1401b7d2b
add r9, rbp
mov qword [rdx], r9
mov qword [rdx + 8], r12
mov r13b, 2
mov r10, r12
cmp r11b, 0xa
je 0x1401b7af2
jmp 0x1401b7ce5
xor r12d, r12d
jmp 0x1401b7aef
cmp r12, 1
jne 0x1401b7aef
cmp r9b, 0x2e
jne 0x1401b7aef
test r10, r10
je case.default.0x1401b7d2b
dec r10
inc rbp
mov qword [rdx], rbp
mov qword [rdx + 8], r10
mov byte [rcx], 7
jmp 0x1401b7a5e
test r10, r10
je case.default.0x1401b7d2b
dec r10
inc rbp
mov qword [rdx], rbp
sub cl, byte [rcx + rcx*4 + 0x52]
or dh, al
add dword [rsi], eax
jmp 0x1401b7a5e
mov byte [rdx + 0x38], 3
jmp 0x1401b7a5b
std
invalid
mov byte [rdx + 0x38], 1
lea r9, [0x140263998]
movsxd r11, dword [r9 + rax*4]
add r11, r9
jmp r11
mov r9, r8
jmp 0x1401b7d18
mov byte [rcx], r11b
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], r15
jmp 0x1401b7a5e
mov byte [rcx], 6
jmp 0x1401b7a5e
mov r9, qword [rsp]
jmp 0x1401b7d18
mov r9d, 6
jmp 0x1401b7d18
mov r9, qword [rsp + 8]
jmp 0x1401b7d18
mov r9d, 2
add byte [rax], al
add byte [rbp + 0x39], cl
sal dword [rdi + 0x61], 1
ja case.default.0x1401b7d2b
cmp r9, r10
ja case.default.0x1401b7d2b
lea r11, [0x1402639b0]
movsxd rsi, dword [r11 + rax*4]
add byte [rcx + 0x63], cl
xor al, 0x83
add rsi, r11
jmp rsi
fdivp st(7)
out 0x4c, al
mov r8, qword [rsp]
mov r8, qword [rsp]
and al, 0xeb
adc eax, 0x6b841
mov r8d, 6
jmp case.0x1401b7d2b.0
mov r8d, 6
jmp case.0x1401b7d2b.0
mov r8, qword [rsp + 8]
jmp case.0x1401b7d2b.0
mov r8d, 2
sub r10, r8
jb case.default.0x1401b7d2b
add r8, rbp
mov qword [rdx], r8
mov qword [rdx + 8], r10
mov r8, qword [rdx + 0x30]
mov qword [rcx + 0x20], r8
movups xmm0, xmmword [rdx + 0x11]
movups xmm1, xmmword [rdx + 0x21]
movups xmmword [rcx + 0x11], xmm1
movups xmmword [rcx + 1], xmm0
mov byte [rcx], al
mov qword [rcx + 0x28], rbp
mov qword [rcx + 0x30], r9
jmp 0x1401b7a5e
ud2
mov byte [rdi + 0x39], 1
mov cl, 1
cmp bpl, cl
ja 0x1401b809c
cmp cl, 1
je 0x1401b7e90
movzx ecx, cl
cmp ecx, 2
jne 0x1401b8092
cmp bpl, 1
ja 0x1401b7f00
test r15b, r15b
jne case.0x1401b759a.30
test r12b, r12b
je 0x1401b7f0c
xor edx, edx
jmp 0x1401b7f1b
mov byte [rdi + 0x39], 0
test r13b, r13b
jne case.0x1401b7cdd.18
xor ecx, ecx
cmp r14d, 3
jb 0x1401b7e46
cmp r14d, 5
je 0x1401b7e46
cmp r14d, 6
jne 0x1401b80de
test rbx, rbx
je 0x1401b7f72
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rcx]
cmp rbx, 1
je 0x1401b7fa4
cmp dl, 0x2e
jne 0x1401b7fa4
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 1]
cmp ecx, 0x2f
je 0x1401b80e3
cmp ecx, 0x5c
jne 0x1401b7f74
jmp 0x1401b80e3
xor edx, edx
xor ecx, ecx
xor r8d, r8d
jmp 0x1401b7ff0
mov edx, 2
cmp rbx, 1
jbe 0x1401b8137
cmp rdx, rbx
jne 0x1401b7f34
xor ecx, ecx
test r12b, r12b
je 0x1401b7f88
movzx edx, byte [rsp + 0x2f]
xor r8d, r8d
jmp 0x1401b7ff0
mov r9, qword [rsp + 0x38]
lea rcx, [r9 + rbx]
lea r8, [r9 + rdx]
inc r8
cmp r8, rcx
enter 0xffffffffffff940f, 0xffffffffffffffc1
movzx edx, byte [r9 + rdx]
test cl, 1
jne 0x1401b7f7b
cmp dl, 0x2e
jne 0x1401b7f7b
movzx ecx, byte [r8]
cmp cl, 0x5c
sete dl
cmp cl, 0x2f
sete cl
or cl, dl
ror dword [rax], 0xd1
test r12b, r12b
jne 0x1401b7f27
jmp 0x1401b7f88
xor ebx, ebx
xor ecx, ecx
jmp 0x1401b7e46
cmp dl, 0x2e
sete dl
ret 0xd120
test r12b, r12b
jne 0x1401b7f27
ret 0xd120
lea r8, [0x1402639c8]
movsxd rdx, dword [r8 + r14*4]
add byte [rbx + 0x63], cl
adc al, 0xb0
add rdx, r8
jmp rdx
movzx edx, byte [rsp + 0x2f]
push rsp
and al, 0x2f
mov r8, qword [rsp + 0x30]
jmp 0x1401b7ff0
xor ecx, ecx
cmp rbx, 1
jne 0x1401b7e46
invalid
invalid
invalid
cmp dl, 0x2e
jne 0x1401b7e46
jne 0x1401b7e46
jmp 0x1401b80e3
and eax, 0xf000001
mov dh, 0x54
and al, 0x2f
movzx edx, byte [rsp + 0x2f]
mov r8, qword [rsp + 0x40]
and al, 0x40
jmp 0x1401b7ff0
mov r8d, 6
jmp 0x1401b7fe4
movzx edx, byte [rsp + 0x2f]
mov r8, qword [rsp + 0x48]
jmp 0x1401b7ff0
mov r8d, 2
movzx edx, byte [rsp + 0x2f]
nop dword [rax]
movzx ecx, cl
movzx edx, dl
add rdx, rcx
add rdx, r8
cmp rbx, rdx
jbe 0x1401b7e40
lea rcx, [rsp + 0x88]
mov rdx, rdi
call fcn.1401b77f0
mov rax, qword [rsp + 0x88]
movzx edx, byte [rsp + 0x90]
lea rcx, [rsp + 0x91]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x70], xmm2
mov rcx, qword [rcx + 0x2f]
mov qword [rsp + 0x7f], rcx
sub rbx, rax
jb 0x1401b8137
mov qword [rdi + 8], rbx
mov cl, 2
mov rax, rbx
cmp dl, 0xa
or cl, byte [rdi]
test bl, bl
std
invalid
invalid
mov byte [rsi], dl
movaps xmm0, xmmword [rsp + 0x50]
sub byte [rsp + 0x50], al
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 1], xmm0
movups xmmword [rsi + 0x11], xmm1
movups xmmword [rsi + 0x21], xmm2
mov rax, qword [rsp + 0x7f]
jmp 0x1401b812e
add byte [rax], al
invalid
add byte [rax], al
add byte [rcx - 0x80], al
inc byte [rsi]
cmp r14b, 6
jne 0x1401b80c7
mov byte [rdi + 0x39], 3
mov byte [rsi], 0xa
mov rax, rsi
add rsp, 0xc8
add byte [rax], al
add byte [rax], al
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rbx, rbx
je 0x1401b8137
dec rbx
mov qword [rdi + 8], rbx
mov dword [rdi + 8], ebx
mov byte [rsi], 6
jmp 0x1401b809f
invalid
lea rcx, [0x1402639e0]
movsxd rdx, dword [rcx + r14*4]
add rdx, rcx
jmp rdx
invalid
loop 0x1401b8120
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
jmp 0x1401b80f9
mov byte [rsi], 6
jmp 0x1401b809f
test rax, rax
je 0x1401b8137
dec rax
mov qword [rdi + 8], rax
or dh, al
invalid
invalid
jmp 0x1401b809f
or dh, al
invalid
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
cmp qword [rsp + 0x30], 0
je case.default.0x1401b80d5
mov byte [rdi + 0x39], 3
mov rcx, qword [rdi + 0x30]
mov qword [rsi + 0x20], rcx
movups xmm0, xmmword [rdi + 0x11]
movups xmm1, xmmword [rdi + 0x21]
and qword [r15], r9
adc dword [rsi + 0x11], ecx
movups xmmword [rsi + 1], xmm0
mov byte [rsi], r14b
add dword [rax + r9*4 + 0x36], r8d
mov rcx, qword [rsp + 0x38]
mov qword [rsi + 0x28], rcx
mov qword [rsi + 0x30], rax
jmp 0x1401b809f
invalid
invalid
invalid
invalid
ud2
jno case.0x1401b7d2b.18
setne ch
add eax, dword [rax - 0x4b]
add cl, byte [rax - 0x73]
and al, 0x50
imul eax, dword [rax], 0x74b60f00
mov dh, 0x74
and al, 0x50
push rax
jo 0x1401b81f2
lea ecx, [0x1402639f8]
or eax, 0xab848
add byte [rbx + riz*2 + 4], cl
or dword [rcx + 1], 0xf2894cc8
add al, 0xeb
lea rcx, ss:[r12 + 1]
lea rcx, [r12 + 1]
add ecx, 2
add ecx, edi
xchg esp, eax
ret 0xf980
invalid
stc
and al, 0x58
add byte [rax], al
add byte [rax - 0x80], al
inc byte [rsi]
add byte [rax], al
add byte [rax], al
add byte [rdi], cl
test byte [rax - 0x47000000], dh
mov al, 0
add byte [rax], al
invalid
invalid
add byte [rax], al
ror byte [rax - 0x73], 0x15
invalid
sal byte [rbp + 0x37], cl
mov al, byte [rax]
test edx, edx
lea edx, [0x140263a2c]
add al, 0x4c
add al, byte [rax]
add byte [rax], al
test esp, esp
lea ecx, [rax + rbp]
int1
and al, 0x30
invalid
sub byte [rdi], cl
xchg dword [0x1881b839d], edi
mov ecx, esi
and al, 0x60
invalid
add edx, ecx
mov eax, esi
add byte [rax], al
and al, 1
or al, 0x28
int1
mov ecx, 0xe9fffffe
sar esi, 0xff
dec dword [rax - 0x7d]
invalid
invalid
jl case.0x1401b81bd.47
sub byte [rax], al
invalid
lea edx, [rsp + 0x50]
and al, 0x30
sub al, ch
in eax, 0x65
invalid
mov eax, 0x4c000000
add al, 0xe9
lea eax, [rdx + 1]
lea eax, [rdx + 1]
add eax, 8
ror dword [rcx + 1], 0xc0
test ecx, ecx
and al, 0xa8
add byte [rax], al
add byte [rdi], cl
adc dword [rsp + 0x70], ecx
and al, 0x60
push rax
mov eax, esi
add byte [rdi + rcx - 0x4a], al
xor eax, dword [rcx - 0x7d]
dec byte [rdx]
adc byte [rbx + 0x11], cl
add dword [rax + rbx + 0x48], esi
sbb byte [rax - 0x73], cl
mov word [rax + riz*8], fs
add byte [rax], al
add byte [rax - 0x73], cl
adc eax, 0xab0b6
or al, byte [rax]
lea ecx, [rsp + 0xe0]
add byte [rax], al
sal byte [rax + rsi + 0x48], 0x8b
xor byte [rax - 0x75], cl
mov ah, 0x24
lock add byte [rax], al
add byte [rcx - 0x73], al
cli
mov dh, 0xc0
add dword [rsp + rax], edi
invalid
and al, 0x20
add dword [rax], eax
add byte [rax], al
bnd call fcn.1401bf1b0
add byte gs:[rax], al
lea edx, [0x1402638df]
dec dword [rax - 0x77]
invalid
inc ecx
push rsi
in al, dx
and byte [rcx + rcx*4 - 0x3a], cl
mov esi, eax
mov esi, eax
add eax, 0xc6626
or al, 0
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rcx + rcx*4 - 0xf], cl
int1
add byte [rax - 0x77], cl
bnd call fcn.14018ba60
jno case.0x1401b88d9.32
std
dec esp
int3
invalid
loop case.0x1401b834e.60
lea eax, [rdx + 1]
int1
add byte [rax], al
mov esi, edx
push rsp
and al, 0x28
invalid
and byte [rax - 0x3fce053f], al
sar edx, 0x31
rol byte [rax - 0xb88fc07], 0xf
cmp cl, 3
ja 0x1401b8f27
movzx ecx, cl
and al, 0x50
invalid
int3
int3
cmove edx, ecx
ror dword [rax + 1], 1
ror byte [rax - 0x7d], 1
add rax, 2
invalid
add ch, bl
add byte [rax], al
add byte [rax + 1], cl
invalid
invalid
mov eax, eax
xchg esp, eax
ror byte [rax], 0xc8
adc byte [rsp + 0x30], cl
invalid
ror byte [rdi], 0x88
xchg ecx, eax
add byte [rax], al
add byte [rcx + rcx*4 - 0x35], cl
add byte [rcx - 0x44], al
add dword [rax], eax
add byte [rax], al
add dword [rax], eax
add byte [rax], al
add eax, dword [rax]