Function at 0x14009ee90
Capabilities:
Encrypt data using speck

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xda8]
sub rsp, 0xe80
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x1403b0808]
xor rax, rsp
mov qword [rbp + 0xd00], rax
mov qword [rbp - 0x70], rcx
xor r14d, r14d
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x60], r14
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x6f0]
call fcn.1400cb288
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x3d0]
call fcn.1400cb288
lea rdx, [rbp + 0x6f0]
mov ecx, 0x104
call qword [0x1400db080]
mov r15d, eax
mov dword [rsp + 0x50], eax
lea rdx, [0x1403b2649]
lea rcx, [0x1403b2648]
call fcn.1400a0a70
xor al, al
mov byte [rsp + 0x41], al
lea rdx, [0x140000000]
mov edi, pe_nt_image_headers64
xorps xmm9, xmm9
movsd xmm10, qword [0x1400f6bf8]
movsd xmm11, qword [0x1400f6c00]
movsd xmm12, qword [0x1400f6c10]
movzx ecx, al
test al, al
je 0x14009ef9e
cmp ecx, 1
jne 0x14009efa8
mov sil, 4
mov byte [rsp + 0x40], sil
jmp 0x14009efad
xor sil, sil
mov byte [rsp + 0x40], sil
jmp 0x14009efad
movzx esi, byte [rsp + 0x40]
xor r13b, r13b
test sil, sil
jne 0x14009f02f
movzx eax, r13b
cmp byte [rax + rdx + 0x3b22c0], 1
jne 0x14009f446
movzx r11d, r13b
mov rcx, qword [0x1403b23c8]
cmp dword [rcx + 0x14], 0
je 0x14009f0b2
mov r8d, dword [rcx + 0x20]
test r8d, r8d
je 0x14009f026
mov r10d, dword [rcx + 0x24]
xor r10d, r11d
xor edx, edx
mov eax, r10d
div r8d
mov rax, qword [rcx + 8]
lea r9, [rax + rdx*8]
mov rdx, qword [r9]
cmp rdx, rcx
je 0x14009f0a5
cmp r10d, dword [rdx + 8]
jne 0x14009f018
cmp r11d, dword [rdx + 0xc]
je 0x14009f0a5
mov r9, rdx
mov rax, qword [rdx]
mov rdx, rax
cmp rax, rcx
jmp 0x14009f002
lea r9, [0x1403b23c8]
jmp 0x14009f0a5
cmp sil, 4
jne 0x14009f446
movzx eax, r13b
cmp byte [rax + rdx + 0x3b2340], 1
jne 0x14009f446
movzx r11d, r13b
mov rcx, qword [0x1403b23c0]
cmp dword [rcx + 0x14], 0
je 0x14009f0b2
mov r8d, dword [rcx + 0x20]
test r8d, r8d
je 0x14009f09e
mov r10d, dword [rcx + 0x24]
xor r10d, r11d
xor edx, edx
mov eax, r10d
div r8d
mov rax, qword [rcx + 8]
lea r9, [rax + rdx*8]
mov rdx, qword [r9]
cmp rdx, rcx
je 0x14009f0a5
cmp r10d, dword [rdx + 8]
jne 0x14009f090
cmp r11d, dword [rdx + 0xc]
je 0x14009f0a5
mov r9, rdx
mov rax, qword [rdx]
mov rdx, rax
cmp rax, rcx
jmp 0x14009f082
lea r9, [0x1403b23c0]
mov rax, qword [r9]
cmp rax, rcx
je 0x14009f0b2
mov ebx, dword [rax + 0x10]
jmp 0x14009f0b5
mov ebx, r14d
mov edx, 1
mov ecx, 0x3c8
cmp qword [0x1403b2608], 0
jne 0x14009f0e2
call qword [0x1400dd8f8]
mov rcx, rax
mov qword [0x1403b2600], rax
mov qword [0x1403b2608], rax
jmp 0x14009f0fc
call qword [0x1400dd8f8]
mov rcx, rax
mov rax, qword [0x1403b2600]
mov qword [rax], rcx
mov qword [0x1403b2600], rcx
mov qword [rcx], r14
movzx ecx, r13b
add cx, di
mov rax, qword [0x1403b2600]
mov word [rax + 8], cx
mov edx, 1
mov ecx, 0x12f
call qword [0x1400dd8f8]
mov rcx, qword [0x1403b2600]
mov qword [rcx + 0xc], rax
mov rcx, qword [0x1403b2600]
mov byte [rcx + 0xb], sil
lea r12d, [r13 + 0x80]
mov rcx, qword [0x1403b2600]
mov rdx, qword [rcx + 0xc]
mov byte [rdx], r12b
mov eax, ebx
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
mov rcx, qword [0x1403b2600]
mov rdx, qword [rcx + 0xc]
mov dword [rdx + 0x11], eax
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
lea rdx, [rcx + 9]
movzx ecx, byte [rcx]
call fcn.1400a09a0
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
lea rdi, [rcx + 0x15]
mov rbx, qword [rcx + 9]
movaps xmm7, xmm9
movaps xmm8, xmm9
movaps xmm6, xmm9
xor edx, edx
mov r8d, 0x1af
lea rcx, [rbp + 0x1d0]
call fcn.1400cb288
shl rbx, 9
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
mov rax, rbx
cqo
and edx, 0x3fffffff
add rax, rdx
sar rax, 0x1e
test eax, eax
je 0x14009f1de
movaps xmm7, xmm0
mulsd xmm7, xmm10
jmp 0x14009f207
mov rax, rbx
cqo
and edx, 0xfffff
add rax, rdx
sar rax, 0x14
test eax, eax
je 0x14009f1ff
movaps xmm8, xmm0
mulsd xmm8, xmm11
jmp 0x14009f207
movaps xmm6, xmm0
mulsd xmm6, xmm12
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
ucomisd xmm7, xmm9
jp 0x14009f26a
jne 0x14009f26a
ucomisd xmm8, xmm9
jp 0x14009f25d
jne 0x14009f25d
lea rdx, str._.2f_KB
jmp 0x14009f274
lea rdx, str._.2f_MB
movaps xmm6, xmm8
jmp 0x14009f274
lea rdx, str._.2f_GB
movaps xmm6, xmm7
movaps xmm2, xmm6
movq r8, xmm6
lea rcx, [rbp + 0x150]
call fcn.14008f350
mov dword [rsp + 0x28], 0x40
lea rax, [rbp + 0x33f]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x150]
xor edx, edx
xor ecx, ecx
call qword [0x1400db0c0]
lea r8, [rbp + 0x33f]
lea rdx, [0x1400f7cb8]
mov rcx, rdi
call qword [0x1400dd838]
cmp sil, 4
je 0x14009f30a
mov edx, 1
lea ecx, [rdx + 0x61]
call qword [0x1400dd8f8]
mov rcx, qword [0x1403b2600]
mov rdx, qword [rcx + 0xc]
mov qword [rdx + 0x127], rax
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov rdx, qword [rcx + 0x127]
movzx ecx, byte [rcx]
call fcn.1400a1670
mov rax, qword [0x1403b2600]
mov r14, qword [rax + 0xc]
movups xmm0, xmmword [str.Drive:]
movups xmmword [r14 + 0x55], xmm0
test r15d, r15d
jle 0x14009f437
lea rsi, [rbp + 0x6f0]
lea rdi, [rbp + 0x6f0]
dec r15d
shr r15d, 2
inc r15d
movzx r8d, word [rsi]
lea rdx, str.._c:
lea rcx, [rbp + 0x4e0]
call qword [0x1400dd838]
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [rax + 3]
lea rcx, [rbp + 0x4e0]
call qword [0x1400db060]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14009f41b
xor eax, eax
mov qword [rbp + 0x900], rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x400
lea rax, [rbp + 0x900]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x560000
mov rcx, rbx
call qword [0x1400db0a0]
test eax, eax
je 0x14009f41b
mov ecx, dword [rbp + 0x908]
sub ecx, 0xffffff80
movzx eax, r12b
cmp eax, ecx
jne 0x14009f412
mov r8d, 2
mov rdx, rdi
lea rcx, [r14 + 0x55]
call qword [0x1400dda20]
lea rcx, [r14 + 0x53]
nop
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x14009f400
mov eax, dword [0x1400f7e80]
mov dword [rcx], eax
mov rcx, rbx
call qword [0x1400db110]
add rdi, 8
add rsi, 8
sub r15, 1
jne 0x14009f342
movzx esi, byte [rsp + 0x40]
mov r15d, dword [rsp + 0x50]
mov edi, pe_nt_image_headers64
lea rdx, [0x140000000]
xor r14d, r14d
inc r13b
cmp r13b, 0x18
jb 0x14009efb0
movzx eax, byte [rsp + 0x41]
inc al
mov byte [rsp + 0x41], al
cmp al, 2
jb 0x14009ef88
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x20], rax
mov r9d, 0x104
lea r8, [rbp + 0x6f0]
xor edx, edx
xor ecx, ecx
call qword [0x1400db040]
xor sil, sil
xor dil, dil
lea r15, str.REMOVABLE
lea r13, str.FAT32
lea r12, [0x1400f7df0]
nop word [rax + rax]
movzx ecx, dil
cmp byte [rbp + rcx + 0x3d0], 0
je 0x14009feb8
mov dword [rsp + 0x44], r14d
movzx eax, word [rbp + rcx + 0x3d0]
mov word [rsp + 0x44], ax
movzx eax, byte [rbp + rcx + 0x3d2]
mov byte [rsp + 0x46], al
movzx ecx, byte [rsp + 0x44]
call qword [0x1400dda28]
mov ebx, eax
mov byte [rsp + 0x44], bl
xor edx, edx
mov r8d, 0x1ae
lea rcx, [rbp - 0x5f]
call fcn.1400cb288
sub bl, 0x41
mov byte [rbp - 0x60], bl
mov dword [rsp + 0x28], 0x20
lea rax, [rbp - 0x5f]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rsp + 0x44]
xor edx, edx
xor ecx, ecx
call qword [0x1400db0c0]
mov dword [rsp + 0x6c], r14d
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x70], r14d
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x900]
call fcn.1400cb288
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x1f], xmm0
movups xmmword [rbp - 0xf], xmm0
movups xmmword [rbp + 1], xmm0
movups xmmword [rbp + 0x11], xmm0
mov word [rbp + 0x21], ax
mov dword [rsp + 0x38], 0x208
lea rax, [rbp + 0x900]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
mov r8d, 0x42
lea rdx, [rbp - 0x1f]
lea rcx, [rbp - 0x5f]
call qword [0x1400db088]
mov r8d, 0xffffffff
lea rdx, [rbp - 0x1f]
lea rcx, [rsp + 0x78]
call qword [0x1400dbc80]
nop
mov rax, qword [rsp + 0x78]
cmp dword [rax + 4], 0
jg 0x14009f5f4
lea r8, str.Local_Disk
lea rdx, [0x1400f7cb8]
lea rcx, [rbp - 0x1f]
call qword [0x1400dd838]
lea rcx, [rbp - 0x5f]
call qword [0x1400db078]
cmp eax, 6
ja case.default.0x14009f61a
mov eax, eax
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xa03c4]
add rcx, rdx
jmp rcx
lea rdx, str.UNKNOWN
lea rcx, [rbp + 0x23]
call qword [0x1400dd838]
jmp 0x14009fe9c
mov rdx, r15
lea rcx, [rbp + 0x23]
call qword [0x1400dd838]
movzx eax, byte [rbp - 0x60]
mov byte [rbp + 0xb4], al
jmp case.default.0x14009f61a
lea rbx, str.FIXED
mov rdx, rbx
lea rcx, [rbp + 0x23]
call qword [0x1400dd838]
jmp 0x14009f6ae
lea rdx, str.REMOTE
lea rcx, [rbp + 0x23]
call qword [0x1400dd838]
jmp 0x14009fe9c
lea rdx, str.CDROM
lea rcx, [rbp + 0x23]
call qword [0x1400dd838]
jmp 0x14009fe9c
lea rdx, str.RAMDISK
jmp 0x14009f69d
lea rdx, str.DRIVE_NO_ROOT_DIR
lea rcx, [rbp + 0x23]
call qword [0x1400dd838]
lea rbx, str.FIXED
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x60], r14
lea rcx, str.kernel32.dll
call qword [0x1400db0b0]
mov rcx, rax
lea rdx, str.GetDiskFreeSpaceExA
call qword [0x1400db050]
lea rcx, [rbp - 0x5f]
test rax, rax
je 0x14009f6fd
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x80]
call qword [0x1400db070]
mov rdx, qword [rsp + 0x60]
jmp 0x14009f743
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x54], r14d
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
call qword [0x1400db068]
mov edx, dword [rsp + 0x54]
imul edx, dword [rsp + 0x58]
imul edx, dword [rsp + 0x50]
mov qword [rsp + 0x60], rdx
mov r8, qword [rsp + 0x48]
test r8, r8
jne 0x14009f7ac
mov rcx, r14
lea r9, [rbp + 0x23]
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r9 + rcx*2]
inc rcx
cmp ax, word [rbx + rcx*2 - 2]
jne 0x14009f777
cmp rcx, 6
jne 0x14009f760
jmp 0x14009f7ac
lea r9, [rbp + 0x23]
mov rcx, r14
nop
movzx eax, word [r9 + rcx*2]
cmp ax, word [r15 + rcx*2]
jne 0x14009fe9c
movzx eax, word [r9 + rcx*2 + 2]
cmp ax, word [r15 + rcx*2 + 2]
jne 0x14009fe9c
add rcx, 2
cmp rcx, 0xa
jne 0x14009f780
mov qword [rbp + 0x6b], r8
mov qword [rbp + 0x63], rdx
test r8, r8
jne 0x14009f823
test rdx, rdx
jne 0x14009f823
cmp byte [0x1403b2649], 1
jne 0x14009f823
lea rdx, [rbp + 0x23]
mov rcx, r14
nop
movzx eax, word [rdx + rcx*2]
cmp ax, word [r15 + rcx*2]
jne 0x14009f823
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r15 + rcx*2 + 2]
jne 0x14009f823
add rcx, 2
cmp rcx, 0xa
jne 0x14009f7d0
mov rax, qword [0x1403b2608]
test rax, rax
je 0x14009f823
nop
cmp byte [rax + 0xb], 4
je 0x14009f810
mov rax, qword [rax]
test rax, rax
jne 0x14009f800
jmp 0x14009f823
mov rax, qword [rax + 0xc]
mov rcx, qword [rax + 9]
shl rcx, 9
dec rcx
mov qword [rbp + 0x6b], rcx
mov dword [rsp + 0x38], 0x20
lea rax, [rbp + 0x73]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x5f]
call qword [0x1400db088]
cmp word [rbp + 0x73], 0
jne 0x14009fa76
cmp word [rbp + 0x75], 0
jne 0x14009fa76
cmp word [rbp + 0x77], 0
jne 0x14009fa76
cmp word [rbp + 0x79], 0
jne 0x14009fa76
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x1d0]
call fcn.1400cb288
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x200
lea r8, [rbp + 0x1d0]
xor edx, edx
movzx ecx, byte [rbp - 0x60]
call fcn.1400a1070
mov r8d, 5
lea rdx, [0x1400f7d84]
lea rcx, [rbp + 0x1d3]
call qword [0x1400dda18]
test eax, eax
jne 0x14009f90c
lea rdx, str.exFAT
lea rcx, [rbp + 0x73]
call qword [0x1400dd838]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x14009fa7b
mov rcx, qword [rbp + 0x218]
shl rcx, 9
mov qword [rsp + 0x48], rcx
mov qword [rbp + 0x6b], rcx
jmp 0x14009fa7b
lea rdx, [rbp + 0x23]
mov rcx, r14
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r15 + rcx*2]
jne 0x14009fa5e
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r15 + rcx*2 + 2]
jne 0x14009fa5e
add rcx, 2
cmp rcx, 0xa
jne 0x14009f920
mov rax, qword [rbp + 0x6b]
cqo
and edx, 0x1ff
add rdx, rax
sar rdx, 9
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x200
lea r8, [rbp + 0x1d0]
movzx ecx, byte [rbp - 0x60]
call fcn.1400a1070
mov r8d, 4
lea rdx, [0x1400f7d9c]
lea rcx, [rbp + 0x1d3]
call qword [0x1400dda18]
test eax, eax
jne 0x14009f9a7
lea rdx, str.NTFS
jmp 0x14009fa6c
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x1d0]
call fcn.1400cb288
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x200
lea r8, [rbp + 0x1d0]
mov edx, 6
movzx ecx, byte [rbp - 0x60]
call fcn.1400a1070
mov r8d, 5
lea rdx, str.MSDOS
lea rcx, [rbp + 0x1d3]
call qword [0x1400dda18]
test eax, eax
je 0x14009fa69
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x1d0]
call fcn.1400cb288
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x200
lea r8, [rbp + 0x1d0]
mov edx, 0xc
movzx ecx, byte [rbp - 0x60]
call fcn.1400a1070
mov r8d, 5
lea rdx, [0x1400f7d84]
lea rcx, [rbp + 0x1d3]
call qword [0x1400dda18]
test eax, eax
jne 0x14009fa69
lea rdx, str.EXFAT
jmp 0x14009fa6c
cmp word [rbp - 0x5f], 0x41
je 0x14009fe9c
mov rdx, r13
lea rcx, [rbp + 0x73]
call qword [0x1400dd838]
mov rcx, qword [rsp + 0x48]
movaps xmm1, xmm9
movaps xmm3, xmm9
movaps xmm2, xmm9
mov rax, rcx
cqo
and edx, 0x3fffffff
add rax, rdx
sar rax, 0x1e
test eax, eax
je 0x14009faac
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
mulsd xmm1, xmm10
jmp 0x14009fade
mov rax, rcx
cqo
and edx, 0xfffff
add rax, rdx
sar rax, 0x14
test eax, eax
je 0x14009fad1
xorps xmm3, xmm3
cvtsi2sd xmm3, rcx
mulsd xmm3, xmm11
jmp 0x14009fade
xorps xmm2, xmm2
cvtsi2sd xmm2, rcx
mulsd xmm2, xmm12
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
ucomisd xmm1, xmm9
jp 0x14009fb40
jne 0x14009fb40
ucomisd xmm3, xmm9
jp 0x14009fb34
jne 0x14009fb34
lea rdx, str._.2f_MB
jmp 0x14009fb4a
lea rdx, str._.2f_MB
movaps xmm2, xmm3
jmp 0x14009fb4a
lea rdx, str._.2f_GB
movaps xmm2, xmm1
movq r8, xmm2
lea rcx, [rbp + 0x150]
call fcn.14008f350
mov dword [rsp + 0x28], 0x40
lea rax, [rbp + 0x10f]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x150]
xor edx, edx
xor ecx, ecx
call qword [0x1400db0c0]
mov edx, 1
mov ecx, 0x3c8
cmp qword [0x1403b2608], 0
jne 0x14009fbb3
call qword [0x1400dd8f8]
mov rcx, rax
mov qword [0x1403b2600], rax
mov qword [0x1403b2608], rax
jmp 0x14009fbcd
call qword [0x1400dd8f8]
mov rcx, rax
mov rax, qword [0x1403b2600]
mov qword [rax], rcx
mov qword [0x1403b2600], rcx
mov qword [rcx], r14
mov rax, r14
lea rdx, [rbp + 0x73]
nop word [rax + rax]
movzx ecx, word [rdx + rax*2]
inc rax
cmp cx, word [r12 + rax*2 - 2]
jne 0x14009fbfb
cmp rax, 4
jne 0x14009fbe0
cmp cx, word [r12 + rax*2 - 2]
mov ecx, 1
mov eax, 0xf
cmove ecx, eax
mov rax, qword [0x1403b2600]
mov byte [rax + 0xb], cl
mov rcx, qword [0x1403b2600]
movzx eax, word [0x1403b2670]
mov word [rcx + 8], ax
inc word [0x1403b2670]
mov edx, 1
mov ecx, 0x1af
call qword [0x1400dd8f8]
mov rdx, rax
mov rcx, qword [0x1403b2600]
mov qword [rcx + 0xc], rax
lea rcx, [rbp - 0x60]
mov eax, 3
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rax, 1
jne 0x14009fc52
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x28], eax
movzx eax, word [rcx + 0x2c]
mov word [rdx + 0x2c], ax
movzx eax, byte [rcx + 0x2e]
mov byte [rdx + 0x2e], al
mov rax, qword [rbp + 0x6b]
cqo
and edx, 0x1ff
add rax, rdx
sar rax, 9
mov rcx, qword [0x1403b2600]
mov rdx, qword [rcx + 0xc]
mov qword [rdx + 0x11d], rax
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov rax, qword [rcx + 0x11d]
mov qword [rcx + 0x125], rax
mov rax, qword [0x1403b2600]
mov rbx, qword [rax + 0xc]
mov rcx, r14
nop dword [rax + rax]
movzx eax, word [rbx + rcx*2 + 0xd3]
inc rcx
cmp ax, word [r12 + rcx*2 - 2]
jne 0x14009fd44
cmp rcx, 4
jne 0x14009fd20
mov byte [rbx + 0x12d], cl
jmp 0x14009fe9c
mov rcx, r14
lea rdx, str.exFAT
nop
movzx eax, word [rbx + rcx*2 + 0xd3]
inc rcx
cmp ax, word [rdx + rcx*2 - 2]
jne 0x14009fd86
cmp rcx, 6
jne 0x14009fd50
mov byte [rbx + 0x12d], 3
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov byte [rcx + 0x12e], 3
jmp 0x14009fe9c
mov rcx, r14
lea rdx, str.NTFS
movzx eax, word [rbx + rcx*2 + 0xd3]
inc rcx
cmp ax, word [rdx + rcx*2 - 2]
jne 0x14009fdc6
cmp rcx, 5
jne 0x14009fd90
mov byte [rbx + 0x12d], 7
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov byte [rcx + 0x12e], 4
jmp 0x14009fe9c
mov rcx, r14
nop dword [rax]
movzx eax, word [rbx + rcx*2 + 0xd3]
inc rcx
cmp ax, word [r13 + rcx*2 - 2]
jne 0x14009fdf5
cmp rcx, 6
jne 0x14009fdd0
mov byte [rbx + 0x12d], 2
jmp 0x14009fe8a
mov rdx, r14
lea rcx, [0x1400f7df8]
nop
movzx eax, word [rbx + rdx*2 + 0xd3]
inc rdx
cmp ax, word [rcx + rdx*2 - 2]
jne 0x14009fe9c
cmp rdx, 4
jne 0x14009fe00
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x4e0]
call fcn.1400cb288
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x200
lea r8, [rbp + 0x4e0]
xor edx, edx
movzx ecx, byte [rbx]
call fcn.1400a1070
movsx eax, word [rbp + 0x4f6]
cmp eax, 0xc
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
ja 0x14009fe83
mov byte [rcx + 0x12e], 2
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov byte [rcx + 0x12d], 0
jmp 0x14009fe9c
mov byte [rcx + 0x12d], 1
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov byte [rcx + 0x12e], 2
lea rcx, [rsp + 0x78]
call qword [0x1400dbcb0]
inc sil
add dil, 4
cmp sil, 0x1a
jb 0x14009f4c0
mov rcx, qword [rbp - 0x70]
call fcn.14009e770
mov rbx, qword [0x1403b2608]
xor dil, dil
mov qword [0x1403b2600], rbx
cmp qword [rbx], 0
je 0x14009feff
mov qword [0x1403b2600], rbx
mov rax, qword [rbx]
nop dword [rax]
nop word [rax + rax]
mov qword [0x1403b2600], rax
mov rax, qword [rax]
test rax, rax
jne 0x14009fef0
mov rcx, qword [0x1403b2290]
lea r12, str.FIXED
nop dword [rax]
test byte [rbx + 0xb], 0xfb
jne 0x1400a0325
mov dword [0x1403b22a8], r14d
mov dword [0x1403b22ac], r14d
mov byte [0x1403b22b2], 0
mov word [0x1403b22b0], r14w
test rcx, rcx
je 0x14009ff71
nop dword [rax]
mov qword [0x1403b2298], rcx
mov rax, qword [rcx]
mov qword [0x1403b2290], rax
call qword [0x1400dd8e8]
mov rcx, qword [0x1403b2290]
test rcx, rcx
jne 0x14009ff40
mov qword [0x1403b2290], r14
mov qword [0x1403b2298], r14
mov rax, qword [rbx + 0xc]
xor edx, edx
movzx ecx, byte [rax]
call fcn.1400a03e0
mov rcx, qword [0x1403b2290]
mov qword [0x1403b2298], rcx
test rcx, rcx
je 0x1400a0364
mov edx, 1
mov ecx, 0x3c8
cmp qword [0x1403b2608], 0
jne 0x14009ffc3
call qword [0x1400dd8f8]
mov rcx, rax
mov qword [0x1403b2600], rax
mov qword [0x1403b2608], rax
jmp 0x14009ffdd
call qword [0x1400dd8f8]
mov rcx, rax
mov rax, qword [0x1403b2600]
mov qword [rax], rcx
mov qword [0x1403b2600], rcx
mov qword [rcx], r14
mov rax, qword [0x1403b2600]
mov byte [rax + 0xb], 0x18
mov rcx, qword [0x1403b2600]
movzx eax, word [0x1403b2670]
mov word [rcx + 8], ax
inc word [0x1403b2670]
mov edx, 1
mov ecx, 0x1af
call qword [0x1400dd8f8]
mov rcx, qword [0x1403b2600]
mov qword [rcx + 0xc], rax
mov rcx, qword [0x1403b2298]
mov rdx, qword [rcx + 8]
mov qword [rax + 0x115], rdx
mov rax, qword [0x1403b2600]
mov rdx, qword [rax + 0xc]
mov rax, qword [0x1403b2298]
mov rcx, qword [rax + 0x10]
mov qword [rdx + 0x11d], rcx
mov rax, qword [0x1403b2600]
mov rdx, qword [rax + 0xc]
mov rax, qword [0x1403b2298]
mov rcx, qword [rax + 0x18]
mov qword [rdx + 0x125], rcx
mov rax, qword [0x1403b2600]
mov rdx, qword [rax + 0xc]
mov rax, qword [0x1403b2298]
movzx ecx, byte [rax + 0x22]
mov byte [rdx + 0x12d], cl
mov rdx, qword [rbx + 0xc]
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
movzx eax, byte [rdx]
mov byte [rcx + 0x114], al
mov rax, qword [0x1403b2298]
mov rdx, qword [rax + 0x10]
shl rdx, 9
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov qword [rcx + 0xcb], rdx
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
add rcx, 0xd3
lea rdx, str.EXTx
call qword [0x1400dd838]
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
add rcx, 0x83
mov rdx, r12
call qword [0x1400dd838]
inc dil
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x1d0]
call fcn.1400cb288
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov rdx, qword [rcx + 0x115]
add rdx, 2
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x200
lea r8, [rbp + 0x1d0]
movzx ecx, byte [rcx + 0x114]
call fcn.1400a1070
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
inc rcx
cmp byte [rbp + 0x258], 0x2f
jne 0x1400a0187
mov dword [rsp + 0x28], 0x10
mov qword [rsp + 0x20], rcx
mov r9d, 0x10
lea r8, [rbp + 0x258]
xor edx, edx
xor ecx, ecx
call qword [0x1400db0c0]
jmp 0x1400a01c7
cmp byte [rbp + 0x248], 0x2f
jne 0x1400a01b6
mov dword [rsp + 0x28], 0x10
mov qword [rsp + 0x20], rcx
mov r9d, 0x10
lea r8, [rbp + 0x248]
xor edx, edx
xor ecx, ecx
call qword [0x1400db0c0]
jmp 0x1400a01c7
movzx r8d, dil
lea rdx, str.Volume__d
call qword [0x1400dd838]
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
add rcx, 0x41
lea rdx, str.Linux_Disk
call qword [0x1400dd838]
movaps xmm1, xmm9
movaps xmm3, xmm9
movaps xmm2, xmm9
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
mov r8, qword [rcx + 0xcb]
xorps xmm0, xmm0
cvtsi2sd xmm0, r8
mov rax, r8
cqo
and edx, 0x3fffffff
add rax, rdx
sar rax, 0x1e
test eax, eax
je 0x1400a0229
movaps xmm1, xmm0
mulsd xmm1, xmm10
jmp 0x1400a0251
mov rax, r8
cqo
and edx, 0xfffff
add rax, rdx
sar rax, 0x14
test eax, eax
je 0x1400a0249
movaps xmm3, xmm0
mulsd xmm3, xmm11
jmp 0x1400a0251
movaps xmm2, xmm0
mulsd xmm2, xmm12
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
ucomisd xmm1, xmm9
jp 0x1400a02b3
jne 0x1400a02b3
ucomisd xmm3, xmm9
jp 0x1400a02a7
jne 0x1400a02a7
lea rdx, str._.2f_MB
jmp 0x1400a02bd
lea rdx, str._.2f_MB
movaps xmm2, xmm3
jmp 0x1400a02bd
lea rdx, str._.2f_GB
movaps xmm2, xmm1
movq r8, xmm2
lea rcx, [rbp + 0x150]
call fcn.14008f350
mov rax, qword [0x1403b2600]
mov rcx, qword [rax + 0xc]
add rcx, 0x16f
mov dword [rsp + 0x28], 0x40
mov qword [rsp + 0x20], rcx
mov r9d, 0x20
lea r8, [rbp + 0x150]
xor edx, edx
xor ecx, ecx
call qword [0x1400db0c0]
mov rax, qword [0x1403b2298]
mov rcx, qword [rax]
mov qword [0x1403b2298], rcx
test rcx, rcx
jne 0x14009ff96
mov rcx, qword [0x1403b2290]
test rcx, rcx
je 0x1400a0364
nop word [rax + rax]
mov qword [0x1403b2298], rcx
mov rax, qword [rcx]
mov qword [0x1403b2290], rax
call qword [0x1400dd8e8]
mov rcx, qword [0x1403b2290]
test rcx, rcx
jne 0x1400a0330
mov rcx, r14
mov qword [0x1403b2290], rcx
mov qword [0x1403b2298], r14
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14009ff10
mov rcx, qword [rbp + 0xd00]
xor rcx, rsp
call fcn.1400ca490
lea r11, [rsp + 0xe80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret