Function at 0x140040400
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x128]
sub rsp, 0x220
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
movaps xmmword [rax - 0xa8], xmm15
mov rax, qword [0x14013e040]
xor rax, rsp
mov qword [rbp + 0x78], rax
movss xmm6, dword [0x140127978]
xor edi, edi
nop dword [rax + rax]
cmp byte [0x1401407b5], dil
movss xmm0, dword [0x14013e6d8]
mov rbx, qword [0x140140c50]
movss xmm7, dword [0x14013e6b8]
movss xmm8, dword [0x14013e6bc]
movss xmm9, dword [0x14013e6c0]
movss xmm10, dword [0x14013e6c8]
movss xmm11, dword [0x14013e6cc]
movss xmm12, dword [0x14013e6d0]
movss xmm13, dword [0x14013e6e8]
movss xmm14, dword [0x14013e6ec]
movss xmm15, dword [0x14013e6f0]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x14013e6dc]
movss dword [rsp + 0x44], xmm0
movss xmm0, dword [0x14013e6e0]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x14013e6f8]
movss dword [rsp + 0x4c], xmm0
movss xmm0, dword [0x14013e6fc]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x14013e700]
movss dword [rsp + 0x58], xmm0
je 0x140040538
movss xmm2, dword [0x14013e2d8]
lea rdx, [rbx + 0x12c]
call fcn.14003a870
cmp byte [0x1401407b4], dil
je 0x140040555
movss xmm2, dword [0x14013e2d0]
lea rdx, [rbx + 0x128]
call fcn.14003a870
cmp byte [0x1401407b6], dil
je 0x140040616
cvttss2si eax, xmm7
mov qword [rsp + 0x38], rdi
lea r8, [rbp - 0x50]
mov qword [rsp + 0x30], rdi
mov r9d, 0x28
mov dword [rsp + 0x28], edi
mov edx, 0x225914
mov dword [rbp - 0x2f], edi
mov word [rbp - 0x2b], di
mov byte [rbp - 0x29], dil
mov dword [rbp - 0x50], 0x85b3b69
movzx ecx, al
cvttss2si eax, xmm8
mov qword [rbp - 0x38], 0xc
mov byte [rbp - 0x30], 1
mov qword [rsp + 0x20], rdi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
cvttss2si eax, xmm9
divss xmm0, xmm6
movss dword [rsp + 0x60], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
lea rax, [rbx + 0xf4]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x60]
mov qword [rbp - 0x40], rax
mov eax, dword [0x140140758]
mov dword [rbp - 0x4c], eax
divss xmm0, xmm6
movss dword [rsp + 0x64], xmm0
movd xmm0, ecx
mov rcx, qword [0x140140750]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
movss dword [rsp + 0x68], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x140140828], dil
je 0x1400406d8
cvttss2si eax, xmm10
mov qword [rsp + 0x38], rdi
lea r8, [rbp - 0x28]
mov qword [rsp + 0x30], rdi
mov r9d, 0x28
mov dword [rsp + 0x28], edi
mov edx, 0x225914
mov dword [rbp - 7], edi
mov word [rbp - 3], di
mov byte [rbp - 1], dil
mov dword [rbp - 0x28], 0x85b3b69
movzx ecx, al
cvttss2si eax, xmm11
mov qword [rbp - 0x10], 0xc
mov byte [rbp - 8], 1
mov qword [rsp + 0x20], rdi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
cvttss2si eax, xmm12
divss xmm0, xmm6
movss dword [rsp + 0x70], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
lea rax, [rbx + 0xd0]
mov qword [rbp - 0x20], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x18], rax
mov eax, dword [0x140140758]
mov dword [rbp - 0x24], eax
divss xmm0, xmm6
movss dword [rsp + 0x74], xmm0
movd xmm0, ecx
mov rcx, qword [0x140140750]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
movss dword [rsp + 0x78], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x1401407b7], dil
je 0x140040796
cvttss2si eax, xmm13
mov qword [rsp + 0x38], rdi
lea r8, [rbp]
mov qword [rsp + 0x30], rdi
mov r9d, 0x28
mov dword [rsp + 0x28], edi
mov edx, 0x225914
mov dword [rbp + 0x21], edi
mov word [rbp + 0x25], di
mov byte [rbp + 0x27], dil
mov dword [rbp], 0x85b3b69
movzx ecx, al
cvttss2si eax, xmm14
mov qword [rbp + 0x18], 0xc
mov byte [rbp + 0x20], 1
mov qword [rsp + 0x20], rdi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
cvttss2si eax, xmm15
divss xmm0, xmm6
movss dword [rbp - 0x80], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
lea rax, [rbx + 0xe8]
mov qword [rbp + 8], rax
lea rax, [rbp - 0x80]
mov qword [rbp + 0x10], rax
mov eax, dword [0x140140758]
mov dword [rbp + 4], eax
divss xmm0, xmm6
movss dword [rbp - 0x7c], xmm0
movd xmm0, ecx
mov rcx, qword [0x140140750]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
movss dword [rbp - 0x78], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x140140829], dil
je 0x140040857
cvttss2si eax, dword [rsp + 0x40]
mov qword [rsp + 0x38], rdi
lea r8, [rbp + 0x28]
mov qword [rsp + 0x30], rdi
mov r9d, 0x28
mov dword [rsp + 0x28], edi
mov edx, 0x225914
mov dword [rbp + 0x49], edi
mov word [rbp + 0x4d], di
mov byte [rbp + 0x4f], dil
mov dword [rbp + 0x28], 0x85b3b69
mov qword [rbp + 0x40], 0xc
movzx ecx, al
cvttss2si eax, dword [rsp + 0x44]
mov byte [rbp + 0x48], 1
mov qword [rsp + 0x20], rdi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
cvttss2si eax, dword [rsp + 0x48]
divss xmm0, xmm6
movss dword [rbp - 0x70], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
lea rax, [rbx + 0xdc]
mov qword [rbp + 0x30], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0x38], rax
mov eax, dword [0x140140758]
mov dword [rbp + 0x2c], eax
divss xmm0, xmm6
movss dword [rbp - 0x6c], xmm0
movd xmm0, ecx
mov rcx, qword [0x140140750]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
movss dword [rbp - 0x68], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x14014082a], dil
je 0x140040918
cvttss2si eax, dword [rsp + 0x4c]
mov qword [rsp + 0x38], rdi
lea r8, [rbp + 0x50]
mov qword [rsp + 0x30], rdi
mov r9d, 0x28
mov dword [rsp + 0x28], edi
mov edx, 0x225914
mov dword [rbp + 0x71], edi
mov word [rbp + 0x75], di
mov byte [rbp + 0x77], dil
mov dword [rbp + 0x50], 0x85b3b69
mov qword [rbp + 0x68], 0xc
movzx ecx, al
cvttss2si eax, dword [rsp + 0x50]
mov byte [rbp + 0x70], 1
mov qword [rsp + 0x20], rdi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
cvttss2si eax, dword [rsp + 0x58]
divss xmm0, xmm6
movss dword [rbp - 0x60], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, al
lea rax, [rbx + 0xe8]
mov qword [rbp + 0x58], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x60], rax
mov eax, dword [0x140140758]
mov dword [rbp + 0x54], eax
divss xmm0, xmm6
movss dword [rbp - 0x5c], xmm0
movd xmm0, ecx
mov rcx, qword [0x140140750]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
movss dword [rbp - 0x58], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp byte [0x14013e2d4], dil
lea rdx, [rbx + 0x140]
je 0x14004092d
mov r8b, 1
jmp 0x140040930
xor r8d, r8d
call fcn.140040950
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], 0xa
call fcn.140038d20
jmp 0x140040470