Function at 0x140078830
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2a0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x140518628]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov r15, rcx
mov qword [rsp + 0x70], rcx
lea r14, [0x140519368]
xor esi, esi
movabs r12, 0x7ffffffffeced2ff
mov ebx, 0x3c
movabs rdi, 0x7fffffffffffffff
mov rax, qword [0x140519368]
test rax, rax
je 0x140079132
movzx eax, byte [0x140519351]
test al, al
je 0x140078945
call fcn.14035fc5c
mov rbx, rax
call fcn.14035fc40
cmp rbx, 0x989680
jne 0x1400788d0
imul rax, rax, 0x64
jmp 0x1400788eb
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r12
setl cl
test cl, cl
je 0x140078902
add rax, 0x1312d00
mov qword [rsp + 0x48], rax
jmp 0x140078907
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x48]
call fcn.14007cf80
movzx eax, byte [0x140519351]
test al, al
je 0x140078928
mov rax, qword [0x140519368]
test rax, rax
jne 0x1400788b4
mov rax, qword [0x140519368]
test rax, rax
je 0x140079132
mov rcx, r15
call fcn.140079420
mov ebx, 0x3c
mov rcx, qword [0x1407b7548]
test rcx, rcx
jne 0x140078971
mov ecx, 0x110
call fcn.140361120
mov qword [rbp - 0x50], rax
mov rcx, rax
call fcn.14007d300
mov rcx, rax
mov qword [0x1407b7548], rax
mov rax, qword [rcx]
call qword [rax + 0x88]
mov rcx, rax
xorps xmm6, xmm6
test rax, rax
js 0x14007898c
cvtsi2sd xmm6, rax
jmp 0x14007899e
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
mov rcx, rax
imul rcx, qword [r15 + 0xe8]
xorps xmm0, xmm0
test rcx, rcx
js 0x1400789c1
cvtsi2sd xmm0, rcx
jmp 0x1400789d6
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm6, xmm0
mov eax, dword [r15 + 0xd8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
cvttsd2si ecx, xmm0
mov dword [rsp + 0x68], ecx
dec eax
cmp eax, 0x62
ja 0x140078a06
cmp ecx, 0x64
mov byte [rsp + 0x59], 1
jl 0x140078a0b
mov byte [rsp + 0x59], 0
mov r12b, 1
mov byte [rsp + 0x58], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
mov rcx, qword [r15 + 0x15f8]
mov rax, qword [0x140519368]
cmp rax, rcx
jne 0x140079125
lea rdi, [r15 + 0x120]
movzx eax, byte [rdi + 0x14e0]
imul rcx, rax, 0x268
lea r14, [rdi + 0xff0]
add r14, rcx
movzx ecx, byte [r15 + 0xca]
mov edx, 1
shl rdx, cl
movzx ecx, byte [r14 + 2]
mov eax, 1
shl rax, cl
cmp rax, rdx
jne 0x14007911e
movzx r8d, byte [rdi + 0x14e0]
imul r9, r8, 0x268
mov edx, dword [r9 + rdi + 0xff0]
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
mov r11d, 0xffff0000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x140078ad1
mov ecx, 0x20
jmp 0x140078afe
cmp ecx, 0x6c000000
jne 0x140078ae0
mov ecx, 0x4c
jmp 0x140078afe
cmp edx, 0x72151279
jne 0x140078aef
mov ecx, 0x93
jmp 0x140078afe
mov ecx, 0x27
cmp edx, 0x72151278
cmove rcx, rbx
imul r10, r8, 0x7f8
lea rax, [r10 + rdi]
mov ecx, dword [rax + rcx]
mov dword [rbp + 0xe0], ecx
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x140078b38
mov ecx, 0x20
jmp 0x140078b65
cmp ecx, 0x6c000000
jne 0x140078b47
mov ecx, 0x4c
jmp 0x140078b65
cmp edx, 0x72151279
jne 0x140078b56
mov ecx, 0x93
jmp 0x140078b65
mov ecx, 0x27
cmp edx, 0x72151278
cmove rcx, rbx
mov r9, qword [r9 + rdi + 0x1010]
lea rax, [r10 + r9]
add rax, rdi
mov eax, dword [rax + rcx]
mov dword [rbp + 0xe4], eax
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x140078ba3
mov ecx, 0x20
jmp 0x140078bd0
cmp ecx, 0x6c000000
jne 0x140078bb2
mov ecx, 0x4c
jmp 0x140078bd0
cmp edx, 0x72151279
jne 0x140078bc1
mov ecx, 0x93
jmp 0x140078bd0
mov ecx, 0x27
cmp edx, 0x72151278
cmove rcx, rbx
lea rax, [r10 + r9*2]
add rax, rdi
mov eax, dword [rax + rcx]
mov dword [rbp + 0xe8], eax
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x140078c07
mov r8d, 0x20
jmp 0x140078c37
cmp ecx, 0x6c000000
jne 0x140078c17
mov r8d, 0x4c
jmp 0x140078c37
cmp edx, 0x72151279
jne 0x140078c27
mov r8d, 0x93
jmp 0x140078c37
mov r8d, 0x27
cmp edx, 0x72151278
cmove r8, rbx
lea rcx, [r10 + r9*2]
add rcx, r9
add rcx, rdi
mov eax, dword [rcx + r8]
mov dword [rbp + 0xec], eax
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x140078c71
mov ecx, 0x20
jmp 0x140078c9e
cmp ecx, 0x6c000000
jne 0x140078c80
mov ecx, 0x4c
jmp 0x140078c9e
cmp edx, 0x72151279
jne 0x140078c8f
mov ecx, 0x93
jmp 0x140078c9e
mov ecx, 0x27
cmp edx, 0x72151278
cmove rcx, rbx
lea rax, [r10 + r9*4]
add rax, rdi
mov eax, dword [rax + rcx]
mov dword [rbp + 0xf0], eax
mov r13b, 1
movzx eax, byte [rdi + 0x14e0]
imul rcx, rax, 0x268
mov edx, dword [rcx + rdi + 0xff0]
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x140078ced
mov r9d, 0x20
jmp 0x140078d1d
cmp ecx, 0x6c000000
jne 0x140078cfd
mov r9d, 0x4c
jmp 0x140078d1d
cmp edx, 0x72151279
jne 0x140078d0d
mov r9d, 0x93
jmp 0x140078d1d
mov r9d, 0x27
cmp edx, 0x72151278
cmove r9, rbx
movzx eax, byte [rdi + 0x14e0]
imul rcx, rax, 0x268
mov edx, dword [rcx + rdi + 0xff0]
mov eax, edx
and eax, 0xff000000
mov r8d, 0xff000000
cmp eax, 0x63000000
cmove r8d, r11d
and r8d, edx
mov ecx, 4
cmp r8d, 0x6b000000
mov eax, 8
cmove ecx, eax
movzx eax, byte [rdi + 0x14e0]
imul rsi, rax, 0x7f8
lea rax, [rdi + rcx]
add rsi, rax
add rsi, r9
mov edx, dword [r14]
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x72000000
jne 0x140078f36
test r12b, r12b
je 0x140078e0f
mov byte [rsp + 0x58], 0
cmp byte [r14 + 0x261], 0
je 0x140078dd1
movzx eax, byte [rdi + 0x14e0]
imul rdx, rax, 0x7f8
add rdx, rdi
mov r9, rsi
mov r8, qword [r14 + 0x20]
mov rcx, r14
call fcn.14003b510
movzx eax, byte [rdi + 0x14e0]
imul r8, rax, 0x7f8
add r8, rdi
mov rbx, qword [r15 + 0x1608]
mov r9, qword [r14 + 0x20]
mov edx, 0x40
lea rcx, [rbp + 0x100]
call qword [case.0x14017977d.0]
mov rax, qword [rbx]
lea rdx, [rbp + 0x100]
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, rdi
call fcn.14007bab0
test al, al
je 0x1400790fe
cmp byte [r14 + 0x261], 0
je 0x140078e74
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rbp + 0x150], xmm1
movups xmm0, xmmword [rsi + 0x20]
movaps xmmword [rbp + 0x160], xmm0
movups xmm1, xmmword [rsi + 0x30]
movaps xmmword [rbp + 0x170], xmm1
movzx eax, byte [rdi + 0x14e0]
imul rdx, rax, 0x7f8
add rdx, rdi
mov r9, rsi
mov r8, qword [r14 + 0x20]
mov rcx, r14
call fcn.14003b510
mov r12, qword [r14 + 0x20]
movzx eax, byte [rdi + 0x14e0]
imul r15, rax, 0x7f8
add r15, rdi
mov rbx, qword [rsp + 0x70]
mov rbx, qword [rbx + 0x1608]
mov dword [rsp + 0x60], 0x9fc0
ldmxcsr dword [rsp + 0x60]
xor edi, edi
cmp dword [0x1407b69ec], 1
je 0x140078eed
nop dword [rax]
mov rax, qword [rbx]
lea rdx, [rbp + 0x100]
mov rcx, rbx
call qword [rax + gethostname]
mov r9d, 0x100
lea r8, [rbx + 0x980]
mov edx, 0x40
lea rcx, [rbp + 0x100]
call qword [case.0x14017977d.0]
inc edi
mov eax, dword [0x1407b69ec]
dec eax
cmp edi, eax
jb 0x140078eb0
mov rax, qword [rbx]
lea rdx, [rbp + 0x100]
mov rcx, rbx
call qword [rax + gethostname]
mov r9, r12
mov r8, r15
mov edx, 0x40
lea rcx, [rbp + 0x100]
call qword [case.0x14017977d.0]
mov rax, qword [rbx]
mov r15, qword [rsp + 0x70]
lea rdx, [r15 + 0x28]
lea r8, [rbp + 0x100]
mov rcx, rbx
call qword [rax + 0x18]
movzx r12d, byte [rsp + 0x58]
jmp 0x140078fae
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6c000000
je 0x140078f9b
movzx eax, byte [rdi + 0x14e0]
imul rbx, rax, 0x7f8
add rbx, rdi
mov r8d, dword [r15 + 0xcc]
mov edx, dword [r15 + 0xd4]
mov rcx, r14
call fcn.1400cb060
lea r9, [r15 + 0xf0]
lea r8, [r15 + 0x28]
mov rdx, qword [r14 + 0x78]
mov qword [rsp + 0x20], rdx
mov rdx, qword [r14 + 0x20]
mov rcx, rbx
call rax
jmp 0x140078f9e
xor r13b, r13b
mov rcx, rdi
call fcn.14007bab0
test al, al
je 0x1400790fe
xor esi, esi
test r13b, r13b
je 0x140079034
mov edi, esi
lea rbx, [r15 + 0x28]
nop
mov rax, qword [rbx + 0x18]
cmp rax, qword [r14 + 0x80]
jae 0x140079022
lea rax, [rbp + 0x140]
cmp byte [r14 + 0x261], 0
cmove rax, rsi
mov r8d, dword [rbp + rdi*4 + 0xe0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.1400b5a40
nop
mov rcx, rax
call fcn.1400b69a0
nop
mov rcx, qword [rbp + 8]
call fcn.14036115c
mov rcx, qword [rbp - 8]
call fcn.14036115c
inc rdi
add rbx, 0x20
cmp rdi, 5
jb 0x140078fc0
add qword [r15 + 8], 5
test byte [r15 + 8], 7
jne 0x1400790d3
cmp byte [rsp + 0x59], 0
je 0x1400790d3
movzx ecx, byte [rsp + 0x68]
call fcn.1400c0320
mov rbx, rax
call fcn.14035fc5c
mov rdi, rax
call fcn.14035fc40
cmp rdi, 0x989680
jne 0x140079073
imul rcx, rax, 0x64
jmp 0x14007908e
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
add rcx, rax
mov qword [rsp + 0x50], rcx
test rbx, rbx
jle 0x1400790c9
movabs r9, 0x7fffffffffffffff
imul rdx, rbx, 0x3e8
mov rax, r9
sub rax, rdx
cmp rcx, rax
setl al
test al, al
je 0x1400790c4
lea rax, [rcx + rdx]
mov qword [rsp + 0x50], rax
jmp 0x1400790c9
mov qword [rsp + 0x50], r9
lea rcx, [rsp + 0x50]
call fcn.14007cf80
cmp byte [r15 + 0xd1], 0
mov ebx, 0x3c
lea r14, [0x140519368]
je 0x140078a32
call sub.KERNEL32.dll_SwitchToThread
lea r14, [0x140519368]
jmp 0x140078a32
movzx eax, byte [r15 + 0x1600]
imul rcx, rax, 0x268
add rcx, 0x1110
add rcx, r15
call fcn.1400b6890
xor esi, esi
lea r14, [0x140519368]
mov rcx, r15
call fcn.140079420
jmp 0x14007887c
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.140361100
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret