Function at 0x140087638
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x980
lea rdi, [0x14011cee8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11, qword [rsp + 0x9c8]
mov eax, 0x2a
cmp ax, word [r11]
mov r14d, 2
sete al
xor r15d, r15d
mov byte [rsp + 0x49], al
cmp al, r15b
je 0x140087695
add r11, r14
mov qword [rsp + 0x9c8], r11
lea rcx, [0x1401085b0]
mov r8d, r14d
mov rdx, r11
call fcn.14005615c
mov r13d, 1
mov r12b, al
cmp al, r15b
jne 0x1400876cf
lea rcx, [0x1401085ac]
mov r8d, r14d
mov rdx, r11
call fcn.14005615c
mov bl, r15b
cmp al, r15b
je 0x1400876d2
mov bl, r13b
lea rcx, [0x1401085a8]
mov r8d, r14d
mov rdx, r11
mov byte [rsp + 0x42], bl
call fcn.14005615c
lea rcx, [0x1401085a4]
mov r8d, 3
mov rdx, r11
mov sil, al
mov byte [rsp + 0x40], al
call fcn.14005615c
lea rcx, [0x1401085a0]
mov r8d, r14d
mov rdx, r11
mov bpl, al
mov byte [rsp + 0xf0], al
call fcn.14005615c
mov r14b, al
mov byte [rsp + 0x56], al
cmp bl, r15b
jne 0x14008773e
cmp sil, r15b
jne 0x14008773e
cmp bpl, r15b
jne 0x14008773e
mov ebx, r15d
cmp al, r15b
je 0x140087741
mov ebx, r13d
mov ecx, 9
mov dword [rsp + 0xa0], ebx
lea edx, [rcx + 0x17]
jmp 0x14008776e
cmp cx, ax
ja 0x14008775d
cmp ax, 0xd
jbe 0x140087778
cmp dx, ax
je 0x140087778
add r11, 2
mov qword [rsp + 0x9c8], r11
movzx eax, word [r11]
cmp ax, r15w
jne 0x140087752
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
lea rcx, [rsp + 0xd0]
mov edx, 5
call fcn.14005c9e0
lea rcx, [rsp + 0x100]
mov edx, 0x14
call fcn.14005c9e0
lea rcx, [rsp + 0xf8]
call fcn.14005c96c
xor ecx, ecx
or rax, 0xffffffffffffffff
mov esi, eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x90], eax
mov byte [rsp + 0x9d8], cl
mov byte [rsp + 0x41], cl
mov byte [rsp + 0x57], cl
mov byte [rsp + 0x80], cl
mov word [rsp + 0x82], cx
mov sil, cl
mov byte [rsp + 0x47], cl
mov byte [rsp + 0x1a0], cl
mov byte [rsp + 0x160], cl
mov dword [rsp + 0x6c], ebx
lea ebx, [rax + 0x44]
mov al, r14b
neg al
lea rdx, [rsp + 0x1a0]
mov ecx, ebx
sbb al, al
mov ebp, r15d
mov dword [rsp + 0xc8], r15d
and al, 0x55
mov dword [rsp + 0x12c], r15d
mov dword [rsp + 0x7c], r15d
mov byte [rsp + 0x46], al
xor eax, eax
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0x1a1], rax
mov qword [rsp + 0x1a9], rax
mov qword [rsp + 0x1b1], rax
mov word [rsp + 0x1b9], ax
mov qword [rsp + 0x161], rax
mov qword [rsp + 0x169], rax
mov qword [rsp + 0x171], rax
mov word [rsp + 0x179], ax
lea rax, [rsp + 0x1a0]
mov dword [rsp + 0x110], 0x3e8
mov dword [rsp + 0x128], r15d
mov byte [rsp + 0x54], r15b
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0xac], ebx
mov byte [rsp + 0x55], bl
call fcn.140059a70
xor r10d, r10d
movzx ebx, bp
mov byte [rsp + 0x120], r10b
mov r14b, r10b
mov byte [rsp + 0x48], r10b
mov r11d, 0x2d
lea edx, [r11 + 0x10]
mov rcx, qword [rsp + 0x9c8]
cmp r11w, word [rcx]
je 0x1400878f5
cmp dx, word [rcx]
jne 0x140087dbc
lea rdx, [rsp + 0x9c8]
lea rcx, [0x14010859c]
mov r8d, 2
call fcn.14005f144
xor r10d, r10d
cmp al, r10b
je 0x14008791e
mov byte [rsp + 0x54], r13b
jmp 0x1400878d4
lea rdx, [rsp + 0x9c8]
lea rcx, str._cdrom
mov r8d, 6
call fcn.14005f144
xor r10d, r10d
cmp al, r10b
je 0x14008794a
mov dword [rsp + 0x128], r13d
jmp 0x1400878d4
lea rdx, [rsp + 0x9c8]
lea rcx, [0x1401072bc]
mov r8d, 3
call fcn.14005f144
xor r10d, r10d
cmp al, r10b
je 0x140087976
mov byte [rsp + 0x48], 0x10
jmp 0x1400878d4
lea rdx, [rsp + 0x9c8]
lea rcx, [0x140102ae4]
mov r8d, 6
call fcn.14005f144
xor r10d, r10d
cmp al, r10b
je 0x1400879a0
mov r14b, r13b
jmp 0x1400878d4
mov r11, qword [rsp + 0x9c8]
lea rcx, str._from:
mov r8d, 6
mov rdx, r11
call fcn.14005615c
xor r10d, r10d
cmp al, r10b
je 0x140087a5e
mov eax, 0xffdf
lea r9, [r11 + 0xc]
movzx r8d, word [r9]
and r8w, ax
movzx eax, word [r11]
cmp ax, r10w
je 0x140087a11
lea ecx, [r10 + 9]
lea edx, [rcx + 0x17]
cmp cx, ax
ja 0x1400879f6
cmp ax, 0xd
jbe 0x140087a11
cmp dx, ax
je 0x140087a11
add r11, 2
mov qword [rsp + 0x9c8], r11
mov ax, word [r11]
cmp ax, r10w
jne 0x1400879eb
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
mov eax, 0x41
movzx ecx, r8w
sub cx, ax
lea edx, [rax - 4]
lea r11d, [rax - 0x14]
cmp cx, 0x19
ja 0x1400878de
mov word [rsp + 0xac], r8w
mov r8, qword [rsp + 0x9c8]
lea rcx, [rsp + 0x1a0]
mov rdx, r9
call fcn.140062c38
jmp 0x140087acd
lea rcx, str._SKIP
mov r8d, 6
mov rdx, r11
call fcn.14005615c
xor ecx, ecx
cmp al, cl
je 0x140087ad5
lea rcx, [rsp + 0x9c8]
add r11, 0xc
mov qword [rsp + 0x9c8], r11
call fcn.140054c14
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x9c8]
mov dword [rsp + 0x108], 0x42
call fcn.14006b2e8
mov al, byte [rsp + 0x108]
lea rcx, [rsp + 0x9c8]
mov byte [rsp + 0x80], al
call fcn.140054c14
xor r10d, r10d
jmp 0x1400878d4
lea rcx, str._skiptp:
mov r8d, 8
mov rdx, r11
call fcn.14005615c
xor r10d, r10d
cmp al, r10b
je 0x140087c4e
lea rcx, [rsp + 0x9c8]
add r11, 0x10
mov qword [rsp + 0x9c8], r11
call fcn.140054c14
cmp bx, 0x3c
jge 0x140087bfb
mov rbx, qword [rsp + 0x9c8]
xor eax, eax
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x9c8]
movzx esi, sil
mov r8d, r13d
mov qword [rsp + 0x180], r10
mov qword [rsp + 0x188], r10
mov qword [rsp + 0x190], rax
imul rsi, rsi, 0x11
call fcn.14006df60
xor ecx, ecx
cmp rax, rcx
setge al
mov byte [rsp + rsi + 0x2d0], al
cmp al, cl
jne 0x140087b93
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x9c8]
mov qword [rsp + 0x9c8], rbx
call fcn.140060ba8
xor r10d, r10d
cmp eax, r10d
jle 0x140087bf6
lea rcx, [rsp + rsi + 0x2d1]
lea rdx, [rsp + 0x180]
mov r8d, 0x10
call fcn.14001bd80
mov sil, byte [rsp + 0x47]
mov rbx, qword [rsp + 0x9c8]
xor r10d, r10d
add sil, r13b
mov byte [rsp + 0x47], sil
lea ecx, [r10 + 9]
cmp word [rbx], r10w
je 0x140087c08
cmp cx, word [rbx]
ja 0x140087bdb
cmp word [rbx], 0xd
jbe 0x140087c08
mov edx, 0x20
cmp dx, word [rbx]
je 0x140087c2b
add rbx, 2
mov qword [rsp + 0x9c8], rbx
jmp 0x140087b21
mov sil, byte [rsp + 0x47]
mov rbx, qword [rsp + 0x9c8]
mov ecx, 9
mov edx, 0x20
jmp 0x140087c2b
cmp cx, ax
ja 0x140087c1a
cmp ax, 0xd
jbe 0x140087c34
cmp dx, ax
je 0x140087c34
add rbx, 2
mov qword [rsp + 0x9c8], rbx
movzx eax, word [rbx]
cmp ax, r10w
jne 0x140087c0f
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
mov bx, word [rsp + 0x82]
jmp 0x1400878d4
lea rcx, str._skippt:
mov r8d, 8
mov rdx, r11
call fcn.14005615c
xor r10d, r10d
cmp al, r10b
je 0x140087d57
or rax, 0xffffffffffffffff
add r11, 0x10
cmp bx, 0x3c
mov qword [rsp + 0x9c8], r11
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xd8], rax
jge 0x140087d0d
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x9c8]
call fcn.140072f88
xor r10d, r10d
cmp eax, r10d
jle 0x140087cfd
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x9c8]
call fcn.140072f88
xor r10d, r10d
cmp eax, r10d
jle 0x140087cfd
movzx eax, word [rsp + 0xe0]
movsx rcx, bx
add bx, r13w
cmp bx, 0x3c
mov word [rsp + rcx*4 + 0x1e0], ax
movzx eax, word [rsp + 0xd8]
mov word [rsp + rcx*4 + 0x1e2], ax
jl 0x140087c95
mov r11, qword [rsp + 0x9c8]
mov word [rsp + 0x82], bx
movzx eax, word [r11]
cmp ax, r10w
je 0x140087d45
mov ecx, 9
lea edx, [rcx + 0x17]
cmp cx, ax
ja 0x140087d2a
cmp ax, 0xd
jbe 0x140087d45
cmp dx, ax
je 0x140087d45
add r11, 2
mov qword [rsp + 0x9c8], r11
mov ax, word [r11]
cmp ax, r10w
jne 0x140087d1f
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
jmp 0x1400878d4
lea rdx, [rsp + 0x9c8]
lea rcx, str._check
mov r8d, 6
call fcn.14005f144
xor r10d, r10d
cmp al, r10b
je 0x140087d86
mov byte [rsp + 0x120], r13b
jmp 0x1400878d4
lea rdx, [rsp + 0x9c8]
lea rcx, [0x140108568]
mov r8d, 6
call fcn.14005f144
xor r10d, r10d
lea edx, [r10 + 0x3d]
lea r11d, [r10 + 0x2d]
cmp al, r10b
jne 0x1400878de
mov rcx, qword [rsp + 0x9c8]
movzx eax, word [rcx]
cmp ax, r10w
je 0x140087e43
mov r8d, 0x2a
mov edi, ebp
lea r9d, [r8 - 0x21]
cmp r8w, ax
jne 0x140087dfb
cmp r8w, word [rcx + 2]
jne 0x140087dee
add rcx, 2
mov dword [rsp + 0x6c], r13d
mov byte [rsp + 0x48], 0x10
jmp 0x140087e23
cmp r8w, ax
jne 0x140087dfb
mov dword [rsp + 0x6c], r13d
jmp 0x140087e23
mov edx, 0x26
cmp dx, ax
jne 0x140087e0a
or edi, 8
jmp 0x140087e23
cmp r11w, ax
jne 0x140087e38
movzx eax, word [rcx + 2]
sub ax, 0x30
cmp ax, r9w
jbe 0x140087e38
mov dword [rsp + 0x4c], r13d
add rcx, 2
mov qword [rsp + 0x9c8], rcx
mov ax, word [rcx]
cmp ax, r10w
jne 0x140087dd1
mov dword [rsp + 0x7c], edi
lea rdi, [0x14011cee8]
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
call fcn.140059ab4
mov rcx, qword [rsp + 0x9c8]
xor r9d, r9d
mov word [rsp + 0x148], ax
cmp word [rcx], r9w
jne 0x140087e8f
or rax, 0xffffffffffffffff
mov r15d, eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x88], eax
mov esi, eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x90], eax
jmp 0x140087e93
mov esi, dword [rsp + 0x68]
mov word [rsp + 0x130], r9w
mov dword [rsp + 0x94], r9d
mov eax, 0x2c
cmp word [rcx], r9w
je 0x140088382
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x9c8]
mov r8d, eax
call fcn.1400604ac
mov rbx, qword [rsp + 0x9c8]
mov r10d, 0x2c
cmp r10w, word [rbx]
jne 0x140088032
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x9c8]
add rbx, 2
mov r8d, r10d
mov qword [rsp + 0x9c8], rbx
call fcn.1400604ac
movzx r11d, word [rbx]
mov eax, 0xffdf
and r11w, ax
lea eax, [r11 - 0x41]
cmp ax, 0x19
ja 0x140087f40
mov r8, qword [rsp + 0x9c8]
lea rcx, [rsp + 0x160]
mov rdx, rbx
mov byte [rsp + 0x55], r11b
mov byte [rsp + 0x46], r11b
call fcn.140062c38
mov rbx, qword [rsp + 0x9c8]
mov r10d, 0x2c
cmp r10w, word [rbx]
jne 0x140088032
lea rdx, [rsp + 0x12c]
lea rcx, [rsp + 0x9c8]
add rbx, 2
mov r8d, r10d
mov qword [rsp + 0x9c8], rbx
call fcn.140060844
mov rbx, qword [rsp + 0x9c8]
mov r10d, 0x2c
cmp r10w, word [rbx]
jne 0x140088032
add rbx, 2
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x9c8], rbx
mov qword [rsp + 0xe0], rbx
call fcn.140054c14
lea rcx, [rsp + 0x9c8]
mov edx, r10d
call fcn.1400da4f4
mov rdx, qword [rsp + 0xe0]
mov eax, 0xffdf
movzx ecx, word [rdx]
xor r9d, r9d
and cx, ax
cmp r15d, r9d
jg 0x140087ff0
lea eax, [r10 - 2]
cmp ax, word [rdx]
jne 0x140087ff0
mov dword [rsp + 0x130], eax
movzx eax, cx
mov r8d, 0x41
sub ax, r8w
cmp ax, 0x19
ja 0x140088187
mov r8, qword [rsp + 0x9c8]
mov byte [rsp + 0x55], cl
mov byte [rsp + 0x46], cl
lea rcx, [rsp + 0x160]
call fcn.140062c38
mov rbx, qword [rsp + 0x9c8]
mov r10d, 0x2c
xor r9d, r9d
cmp r10w, word [rbx]
jne 0x14008811b
lea rcx, [rbx + 2]
mov edx, 9
movzx eax, word [rcx]
sub ax, 0x30
cmp ax, dx
ja 0x14008809c
mov qword [rsp + 0x9c8], rcx
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x9c8]
mov r8d, r10d
call fcn.140060844
mov rbx, qword [rsp + 0x9c8]
mov ebp, dword [rsp + 0xc8]
xor r9d, r9d
lea r10d, [r9 + 0x2c]
cmp word [rbx], r9w
je 0x14008809c
add rbx, 2
mov qword [rsp + 0x9c8], rbx
cmp r10w, word [rbx]
jne 0x14008811b
add rbx, 2
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x9c8], rbx
mov qword [rsp + 0xe0], rbx
call fcn.140054c14
lea rcx, [rsp + 0x9c8]
mov edx, r10d
call fcn.1400da4f4
mov rdx, qword [rsp + 0xe0]
mov eax, 0xffdf
movzx ecx, word [rdx]
mov r8d, 0x41
and cx, ax
movzx eax, cx
sub ax, r8w
cmp ax, 0x19
ja 0x14008811b
mov r8, qword [rsp + 0x9c8]
movsx eax, cl
lea rcx, [rsp + 0x1a0]
mov dword [rsp + 0xac], eax
call fcn.140062c38
xor r9d, r9d
mov rcx, qword [rsp + 0xf8]
mov eax, 0xffdf
mov r10d, 0x23
mov qword [rsp + 0x9c8], rcx
movzx edx, word [rcx]
lea r11d, [r10 - 0x1a]
and dx, ax
movzx eax, word [rcx]
sub ax, 0x30
cmp ax, r11w
jbe 0x1400882c6
lea eax, [r10 + 0xa]
cmp ax, word [rcx]
jne 0x14008816c
movzx eax, word [rcx + 2]
sub ax, 0x30
cmp ax, r11w
jbe 0x1400882c6
mov eax, 0x46
cmp ax, dx
jne 0x1400881b2
add rcx, 2
or dword [rsp + 0x94], 0xffffffff
jmp 0x1400882aa
mov eax, 0x3f
cmp ax, word [rdx]
jne 0x1400881a5
cmp byte [rsp + 0x42], r9b
jne 0x14008819f
cmp byte [rsp + 0x40], r9b
je 0x1400881a5
mov al, byte [rdx]
mov byte [rsp + 0x46], al
mov rbx, qword [rsp + 0x9c8]
jmp 0x140088035
mov eax, 0x55
cmp ax, dx
je 0x140088299
mov eax, 0x52
cmp ax, dx
je 0x140088299
lea edx, [rax - 0x18]
mov eax, dword [rsp + 0x4c]
cmp dx, word [rcx]
je 0x1400881ef
cmp r10w, word [rcx]
je 0x1400881ef
cmp eax, r9d
jne 0x1400881ef
cmp word [rcx], r9w
jne 0x140088660
mov r8b, byte [rsp + 0x9d8]
mov rbx, qword [rsp + 0xd0]
cmp word [rcx], r9w
jne 0x140088211
cmp word [rbx], r9w
cmovne eax, r13d
mov dword [rsp + 0x4c], eax
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
mov rcx, qword [rsp + 0x9c8]
mov eax, 0x3a
cmp ax, word [rcx]
je 0x14008823f
cmp r10w, word [rcx]
jne 0x14008838a
mov byte [rsp + 0x41], r13b
cmp r8b, r9b
jne 0x140088249
cmp esi, r9d
jge 0x14008824e
mov byte [rsp + 0x41], r9b
add rcx, 2
mov qword [rsp + 0x9c8], rcx
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
mov rax, qword [rsp + 0x9c8]
mov ecx, 0x2d
cmp cx, word [rax]
jne 0x140088355
movzx eax, word [rax + 2]
sub ax, 0x30
cmp ax, r11w
jbe 0x140088355
mov dword [rsp + 0x4c], r13d
jmp 0x14008838a
mov dword [rsp + 0x94], r13d
add rcx, 2
mov byte [rsp + 0x57], r13b
mov eax, dword [rsp + 0x4c]
mov r8b, 0xc
mov qword [rsp + 0x9c8], rcx
mov byte [rsp + 0x9d8], r8b
jmp 0x1400881f7
mov qword [rsp + 0x158], rcx
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x158]
call fcn.140060ca8
mov r11, qword [rsp + 0x9c8]
xor r9d, r9d
movzx eax, word [r11]
cmp ax, r9w
je 0x14008831f
lea ecx, [r9 + 0x23]
lea edx, [rcx + 0x17]
cmp ax, dx
je 0x14008831f
cmp ax, cx
je 0x14008831f
add r11, 2
mov qword [rsp + 0x9c8], r11
mov ax, word [r11]
cmp ax, r9w
jne 0x1400882ff
lea rcx, [rsp + 0x9c8]
call fcn.140054c14
mov esi, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x9c8]
mov eax, dword [rsp + 0x4c]
mov r10d, 0x23
mov dword [rsp + 0x68], esi
mov r8b, r9b
lea r11d, [r10 - 0x1a]
jmp 0x1400881f7
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x9c8]
mov r8d, 0x2c
call fcn.140060844
mov r15d, dword [rsp + 0x88]
xor r9d, r9d
mov dword [rsp + 0x50], r15d
jmp 0x14008838a
mov rbx, qword [rsp + 0xd0]
mov dword [rsp + 0x70], 0xfffffff8
mov dword [rsp + 0xc0], r15d
cmp byte [rsp + 0x41], r9b
je 0x1400883f0
cmp r15d, r9d
jle 0x140088667
cmp r15d, 4
jg 0x1400883b5
sub r15d, r13d
jmp 0x1400883bd
lea r15d, [r15*4 - 0x10]
cmp r15d, r9d
mov dword [rsp + 0x50], r15d
jl 0x1400883d2
cmp r15d, 4
jge 0x1400883d8
add r15d, r13d
jmp 0x1400883eb
cmp r15d, 4
jl 0x1400883f0
mov eax, r15d
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
add r15d, 4
mov dword [rsp + 0x50], r15d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0xd0]
movsxd rdx, eax
add rdx, 5
call fcn.14005ca6c
mov rsi, qword [rsp + 0xd0]
cmp word [rsi], 0x61
jb 0x140088429
cmp word [rsi], 0x7a
ja 0x140088429
mov eax, 0xffe0
add word [rsi], ax
xor edx, edx
mov byte [rsp + 0x78], dl
cmp byte [rsp + 0x9d8], dl
jne 0x14008848e
cmp dword [rsp + 0x4c], edx
jne 0x14008848e
mov eax, pe_nt_image_headers64
cmp word [rsi], ax
jae 0x14008848e
lea eax, [rdx + 0x41]
cmp word [rsi], ax
jb 0x140088456
cmp word [rsi], 0x5a
jbe 0x14008848e
mov eax, dword [rsp + 0x68]
mov word [rsi], dx
cmp eax, edx
jl 0x140088475
mov eax, 0xfffffff8
cmp r15d, r13d
cmovge eax, r15d
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x68]
cmp byte [rsp + 0x41], dl
je 0x14008848e
cmp eax, edx
jl 0x14008848e
cmp r15d, edx
jl 0x14008848e
mov dword [rsp + 0x70], r15d
mov byte [rsp + 0x78], r13b
mov eax, dword [rsp + 0xa0]
cmp eax, edx
je 0x1400884a3
mov byte [rsp + 0x4a], r13b
test r13b, bpl
jne 0x1400884a7
mov byte [rsp + 0x4a], dl
cmp eax, edx
je 0x1400884c4
mov ecx, dword [rsp + 0x120]
test bpl, 2
movzx ecx, cl
cmovne ecx, r13d
mov dword [rsp + 0x120], ecx
cmp r12b, dl
jne 0x1400884d7
cmp eax, edx
je 0x1400884d3
test bpl, 4
jne 0x1400884d7
mov al, dl
jmp 0x1400884da
mov al, r13b
mov cl, bpl
and cl, 0x10
mov byte [rsp + 0xf5], cl
mov cl, bpl
and cl, 0x40
mov byte [rsp + 0xf4], cl
mov ecx, 0x20
test cl, bpl
mov ecx, dword [rsp + 0x128]
cmovne ecx, r13d
xor ebp, ebp
mov dword [rsp + 0x128], ecx
cmp al, bpl
je 0x1400885fb
movzx ebp, byte [rsp + 0x47]
xor r12d, r12d
lea rbx, [rsp + rbp*4 + 0x1e2]
lea r8d, [r12 + 0x10]
mov word [rsp + rbp*4 + 0x1e0], r12w
mov rcx, rbx
call fcn.1400e16a0
mov r11d, 0xee
add bpl, r13b
movzx eax, bpl
mov word [rbx], r11w
xor edx, edx
lea rbx, [rsp + rax*4 + 0x1e2]
mov word [rsp + rax*4 + 0x1e0], r12w
mov r12d, 0x10
mov rcx, rbx
mov r8, r12
call fcn.1400e16a0
mov eax, 0xef
add bpl, r13b
mov word [rbx], ax
movzx eax, bpl
lea rdx, [0x140108558]
lea rcx, [rsp + rax*4 + 0x1e2]
mov r8, r12
mov word [rsp + rax*4 + 0x1e0], r13w
call fcn.14001bd80
add bpl, r13b
lea rdx, [0x140108548]
movzx eax, bpl
mov r8, r12
lea rcx, [rsp + rax*4 + 0x1e2]
mov word [rsp + rax*4 + 0x1e0], r13w
call fcn.14001bd80
add bpl, r13b
lea rdx, [0x140108538]
movzx eax, bpl
mov r8, r12
lea rcx, [rsp + rax*4 + 0x1e2]
mov word [rsp + rax*4 + 0x1e0], r13w
call fcn.14001bd80
add bpl, r13b
mov byte [rsp + 0x47], bpl
xor ebp, ebp
mov ebx, dword [rsp + 0x68]
cmp ebx, ebp
jl 0x14008860b
cmp r15d, ebp
mov al, r13b
jg 0x14008860e
mov al, bpl
cmp al, bpl
mov ax, word [rsi]
mov ecx, ebp
cmovne ecx, r13d
mov edx, 0x64
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0x90], ecx
mov dword [rsp + 0xbc], ecx
lea rcx, [rsp + 0x100]
call fcn.14005ca6c
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dl, byte [rsp + 0x56]
mov cl, byte [rsp + 0x46]
mov dword [rsp + 0x88], eax
cmp dl, bpl
je 0x14008869f
cmp cl, bpl
jne 0x14008869f
mov r13, 0xffffffff80070057
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, r13
jmp 0x14008a3c0
mov eax, dword [rsp + 0x94]
cmp eax, ebp
jg 0x1400886af
cmp dl, bpl
je 0x1400886fa
cmp byte [rsp + 0x160], bpl
movsx eax, cl
mov dword [rsp + 0xac], eax
lea rax, [rsp + 0x160]
cmove rax, qword [rsp + 0x118]
mov qword [rsp + 0x118], rax
cmp dl, bpl
je 0x1400886f3
mov eax, r13d
mov byte [rsp + 0x9d8], 0xc
mov dword [rsp + 0x94], eax
jmp 0x1400886fa
mov eax, dword [rsp + 0x94]
mov ecx, 0xb
cmp dword [rsp + 0xa0], ebp
jne 0x14008871c
cmp eax, ebp
jle 0x14008871c
mov eax, ebp
mov byte [rsp + 0x9d8], cl
mov dword [rsp + 0x94], eax
mov r12d, dword [rsp + 0xc0]
mov dword [rsp + 0x12c], r13d
cmp dword [rsp + 0x4c], ebp
jne 0x14008875b
cmp r12d, ebp
jle 0x14008873c
cmp r14b, bpl
jne 0x14008875b
cmp ebx, ebp
mov byte [rsp + 0x58], r13b
jl 0x140088760
cmp r15d, ebp
mov bl, r13b
mov byte [rsp + 0x43], bl
jle 0x140088767
mov byte [rsp + 0x8c], r13b
jmp 0x14008876f
mov byte [rsp + 0x58], bpl
mov bl, bpl
mov byte [rsp + 0x43], bl
mov byte [rsp + 0x8c], bpl
xor ecx, ecx
mov edx, 0x3960
cmp eax, ecx
lea rcx, [rsp + 0xd8]
setle bpl
mov dword [rsp + 0x108], ebp
call fcn.14005c6f4
xor ebp, ebp
cmp dword [rsp + 0x128], ebp
lea ecx, [rbp + 9]
mov eax, r13d
cmovg eax, ecx
mov r14b, bpl
mov byte [rsp + 0x45], bpl
mov dword [rsp + 0x198], eax
cmp byte [rsp + 0x42], bpl
jne 0x1400887bf
cmp byte [rsp + 0x40], bpl
je 0x1400887e3
mov eax, 0x3f
cmp byte [rsp + 0x46], al
jne 0x1400887e3
lea r8d, [rax - 0x24]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x160]
call fcn.14001bd80
cmp dword [rsp + 0xa0], ebp
mov al, bpl
mov dword [rsp + 0xc8], eax
jg 0x140088807
movzx eax, al
cmp r12d, ebp
cmovle eax, r13d
mov dword [rsp + 0xc8], eax
mov r12, qword [rsp + 0x100]
mov r8b, byte [rsp + 0x41]
mov edx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0xc0]
cmp r8b, bpl
jne 0x14008883d
cmp byte [rsp + 0x54], bpl
je 0x14008883d
cmp edx, ebp
jl 0x14008883d
cmp ecx, ebp
cmovg eax, r15d
mov dword [rsp + 0x70], eax
cmp bl, bpl
jne 0x14008888c
xor ebx, ebx
cmp byte [rsp + 0x49], bl
jne 0x14008888c
cmp byte [rsp + 0x9d8], bl
jne 0x14008888c
cmp eax, ebx
jge 0x14008888c
cmp r8b, bl
jne 0x14008888c
cmp word [rsi], bx
jne 0x14008886d
cmp ecx, ebx
je 0x14008888c
or rax, 0xffffffffffffffff
cmp ecx, eax
je 0x14008888c
mov r8d, dword [rsp + 0x4c]
cmp r8d, ebx
je 0x14008a1a4
cmp edx, ebx
jl 0x14008a19f
cmp ecx, r13d
jl 0x14008a19f
lea rcx, [rsp + 0xe8]
mov edx, 0x10fa28
call fcn.14005c6f4
mov rbp, qword [rsp + 0xe8]
mov r8d, dword [rsp + 0x198]
lea rcx, [rbp + 0x10c000]
mov rdx, rbp
call fcn.14006d2dc
xor r15d, r15d
cmp byte [rsp + 0x4a], r15b
je 0x1400888d0
cmp r14b, r15b
jne 0x14008898b
cmp byte [rsp + 0xf4], r15b
je 0x14008896c
mov r9b, byte [rsp + 0x1a0]
mov r10b, byte [rsp + 0x160]
mov eax, 0x1a
mov r11, rax
lea r8, [rbp + 0x10c010]
mov ecx, dword [r8]
cmp ecx, r15d
jle 0x140088960
lea rdx, [rsp + 0x1a0]
cmp r9b, r15b
je 0x140088926
mov al, r9b
movsx eax, al
cmp eax, ecx
je 0x140088960
add rdx, r13
mov al, byte [rdx]
cmp al, r15b
jne 0x140088915
lea rdx, [rsp + 0x160]
cmp r10b, r15b
je 0x140088947
mov al, r10b
movsx eax, al
cmp eax, ecx
je 0x140088960
add rdx, r13
mov al, byte [rdx]
cmp al, r15b
jne 0x140088936
or ecx, 0xe000
mov dword [r8], ecx
mov r9b, byte [rsp + 0x1a0]
mov r10b, byte [rsp + 0x160]
add r8, 0x220
sub r11, r13
jne 0x1400888fd
mov rcx, qword [rsp + 0xd8]
lea rdx, [rbp + 0x10c000]
mov r8d, 0x3960
call fcn.14001bd80
mov byte [rsp + 0x45], r13b
mov ebx, dword [rsp + 0xa4]
mov eax, 0x3a
mov word [rsp + 0x60], r15w
mov word [rsp + 0x5e], ax
mov word [rsp + 0x9a], ax
mov eax, 0x5c
mov word [rsp + 0x5c], bx
mov word [rsp + 0x98], bx
xor ebx, ebx
cmp byte [rsp + 0x9d8], 5
mov ecx, ebx
mov word [rsp + 0x9c], ax
mov eax, dword [rsp + 0x68]
sete cl
mov word [rsp + 0x9e], bx
cmp eax, ebx
mov dword [rsp + 0xb4], ecx
mov dword [rsp + 0x138], ebx
jl 0x1400889fe
mov r14d, 0x7530
mov dword [rsp + 0x74], r14d
jmp 0x140088a33
mov r14w, bx
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x74], r14d
sub eax, r13d
cmp eax, ebx
mov dword [rsp + 0x110], eax
jle 0x140089ea4
mov eax, 0x3e80
cmp r14w, ax
jge 0x140089ea4
movzx eax, r14w
cmp ecx, ebx
lea rcx, str..CDROM_d
mov word [rsp + 0xb8], ax
cwde
lea rdx, str..PhysicalDrive_d
cmovne rdx, rcx
lea rcx, [rbp + 0x10f960]
mov r8d, eax
mov dword [rsp + 0x64], eax
call qword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
lea ecx, [rax + 3]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x20000000
mov dword [rsp + 0x28], ecx
mov r9d, ecx
lea rdx, [rbp + 0x10f960]
lea rcx, [rsp + 0x140]
mov r8d, 0x80000000
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x20], rax
call fcn.1400037d4
mov rbx, qword [rsp + 0x140]
xor edx, edx
cmp rbx, rdx
je 0x140089e2e
or rax, 0xffffffffffffffff
mov r15d, edx
mov dword [rsp + 0xb0], edx
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1c8], rax
cmp byte [rsp + 0x58], dl
je 0x140088afd
lea r8, [rsp + 0x1c8]
lea rdx, [rsp + 0x134]
mov rcx, rbx
call fcn.14006e258
xor edx, edx
mov qword [rsp + 0x1d0], rax
cmp byte [rsp + 0x9d8], dl
je 0x140088bc1
mov r9d, 0x800
mov r8d, r13d
mov rdx, rbp
mov rcx, rbx
call fcn.140062794
mov cl, byte [rsp + 0x9d8]
mov r13d, eax
cmp cl, 5
je 0x140088b58
mov eax, 0xb
cmp r13d, eax
jne 0x140088b58
cmp cl, al
je 0x140088b58
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x140088b4d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13d, 1
jmp 0x140088ca1
mov ecx, dword [rsp + 0x94]
xor edx, edx
cmp ecx, edx
jne 0x140088b6b
cmp byte [rsp + 0x57], dl
jle 0x140088b9a
mov rdx, rbx
xor ecx, ecx
call fcn.14005ef74
mov ecx, dword [rsp + 0x94]
xor edx, edx
cmp ecx, edx
jg 0x140088b88
cmp byte [rsp + 0x57], dl
jle 0x140088b8d
cmp eax, 7
jne 0x140088b3b
cmp ecx, edx
jge 0x140088b98
cmp eax, 7
je 0x140088b3b
cmp ecx, edx
jne 0x140088ba7
cmp r13d, 0xc
mov eax, 0xb
cmove r13d, eax
mov cl, byte [rsp + 0x9d8]
cmp cl, 5
je 0x140088bbb
movsx eax, cl
cmp r13d, eax
jne 0x140088b3b
mov r13d, 1
mov dword [rsp + 0xa8], edx
lea r8, [rsp + 0xa8]
mov rcx, rbx
mov rdx, rbp
call fcn.1400595c0
xor ecx, ecx
cmp rax, rcx
jne 0x140088bfd
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x140088ca1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140088ca1
cmp dword [rax], r13d
mov r14d, dword [rax + 0x28]
lea rcx, [rax + 0x30]
mov qword [rsp + 0xe0], rcx
mov edx, 0x200
mov rcx, rbx
sete byte [rsp + 0x44]
call fcn.140058fd8
mov r8b, byte [rsp + 0x41]
movsxd r13, eax
xor edx, edx
lea r15, [rbp + r13*2 + 0x100000]
cmp r8b, dl
je 0x140088d23
cmp byte [rsp + 0x44], dl
je 0x140088d01
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0x100000]
lea rcx, [rsp + 0x140]
mov r9d, r13d
mov r8d, r14d
call fcn.1400625dc
mov ecx, dword [rsp + 0xc0]
cmp ecx, r14d
jle 0x140088cb3
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x140088c8e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13d, 1
mov r15d, dword [rsp + 0xb0]
mov r14d, dword [rsp + 0x74]
mov ecx, dword [rsp + 0xb4]
add r14w, r13w
xor ebx, ebx
jmp 0x140088a02
mov r14d, dword [rsp + 0xa8]
lea eax, [rcx - 1]
mov r9d, r13d
mov r13, qword [rsp + 0xe0]
movsxd rcx, eax
mov r8d, r14d
shl rcx, 7
mov rdx, r13
mov dword [rsp + 0x20], 1
add rcx, r15
call fcn.140062478
mov ecx, eax
mov dword [rsp + 0x50], eax
xor eax, eax
cmp ecx, eax
jl 0x140088c7c
cmp byte [rsp + 0x78], al
je 0x140088d43
mov r15d, ecx
mov dword [rsp + 0x70], ecx
jmp 0x140088d48
mov ecx, dword [rsp + 0xc0]
cmp ecx, edx
jle 0x140088d2a
cmp ecx, 4
jg 0x140088d1a
lea eax, [rcx - 1]
mov dword [rsp + 0x50], eax
jmp 0x140088d2a
lea eax, [rcx*4 - 0x10]
jmp 0x140088d14
mov ecx, dword [rsp + 0xc0]
mov r14d, dword [rsp + 0xa8]
cmp ecx, r14d
jg 0x140088c7c
mov r13, qword [rsp + 0xe0]
mov r15d, dword [rsp + 0x70]
mov rdx, rbx
xor ecx, ecx
call fcn.14005ef74
xor edx, edx
cmp eax, 7
je 0x140088d91
cmp byte [rsp + 0x44], dl
jne 0x140088d91
cmp r14d, 4
jne 0x140088d91
mov al, byte [rsp + 0x80]
cmp al, byte [r13 + 0x20]
jne 0x140088d91
cmp byte [r13 + 0xb0], dl
jne 0x140088d91
cmp byte [r13 + 0x140], dl
jne 0x140088d91
cmp byte [r13 + 0x1d0], dl
je 0x140088c7c
mov ecx, dword [rsp + 0x110]
mov r13d, 1
mov dword [rsp + 0x134], edx
sub ecx, r13d
mov eax, edx
mov dword [rsp + 0xc4], edx
cmp ecx, edx
mov dword [rsp + 0x110], ecx
jle 0x1400895b6
movsxd rdx, r15d
mov qword [rsp + 0x1c0], rdx
cmp eax, r14d
jge 0x1400895b6
mov edx, eax
mov dword [rsp + 0x140], eax
xor eax, eax
cmp rdi, rax
je 0x140088dff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [rsp + 0x140]
xor eax, eax
cmp dword [rsp + 0xb4], eax
je 0x140088e18
lea eax, [r14 + 0x186a0]
mov dword [rsp + 0xc4], eax
xor eax, eax
cmp byte [rsp + 0x41], al
je 0x140088e48
mov ecx, dword [rsp + 0x50]
cmp ecx, eax
jl 0x140088e48
cmp ecx, r14d
lea eax, [r14 + 0x186a0]
mov edx, ecx
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0x140], ecx
jge 0x1400895b6
xor eax, eax
mov r11b, byte [rsp + 0x44]
mov r9, qword [rsp + 0xe0]
cmp r11b, al
je 0x140088e62
mov r15d, 0xff07
jmp 0x140088e73
movsxd rax, edx
lea rcx, [rax + rax*8]
shl rcx, 4
movzx r15d, byte [rcx + r9 + 0x20]
movsx r8d, word [rsp + 0x82]
movsxd rax, edx
mov dword [rsp + 0x10c], r15d
lea r14, [rax + rax*8]
xor eax, eax
shl r14, 4
cmp r8d, eax
mov edx, eax
movsx r10d, word [r14 + r9 + 0x18]
mov qword [rsp + 0x158], r14
mov dword [rsp + 0x84], r10d
jle 0x140088ee0
mov ax, word [rsp + 0xb8]
lea rcx, [rsp + 0x1e2]
cmp ax, word [rcx - 2]
jne 0x140088ed4
movsx eax, word [rcx]
cmp r10d, eax
je 0x140088ee0
mov ax, word [rsp + 0xb8]
add edx, r13d
add rcx, 4
cmp edx, r8d
jl 0x140088ebe
cmp edx, r8d
jl 0x140089582
mov cl, byte [rsp + 0x47]
xor edx, edx
cmp cl, dl
jbe 0x140088f85
mov al, r11b
lea r14, [r14 + r9 + 0x20]
mov r10d, edx
neg al
sbb r11b, r11b
and r11b, 0xf
add r11b, r13b
movzx r13d, cl
cmp r13d, edx
jle 0x140088f61
mov al, byte [rsp + 0x44]
lea r9, [rsp + 0x2d0]
cmp al, byte [r9]
jne 0x140088f4d
movsxd rax, r10d
movzx r8d, r11b
mov rcx, r14
imul rax, rax, 0x11
lea rdx, [rsp + rax + 0x2d1]
call fcn.140054c74
xor edx, edx
cmp eax, edx
je 0x140088f59
mov al, byte [rsp + 0x44]
inc r10d
add r9, 0x11
cmp r10d, r13d
jl 0x140088f23
mov r9, qword [rsp + 0xe0]
cmp r10d, r13d
mov r13d, 1
jl 0x140089582
mov r14, qword [rsp + 0x158]
mov r10d, dword [rsp + 0x84]
mov r11b, byte [rsp + 0x44]
mov al, byte [rsp + 0x49]
mov ecx, dword [rsp + 0x50]
cmp al, dl
je 0x140088f95
cmp ecx, edx
jge 0x140088fa8
cmp byte [rsp + 0x8c], dl
je 0x14008900a
cmp byte [rsp + 0x41], dl
jne 0x14008900a
cmp ecx, edx
jle 0x14008900a
cmp r10d, ecx
jne 0x140089582
cmp al, dl
je 0x140088ff4
test r15b, 0x10
jne 0x14008a00c
cmp r15d, 0x84
je 0x14008a00c
mov eax, 0xef
cmp r15d, eax
je 0x14008a00c
cmp r11b, dl
je 0x140088ff4
movabs rax, 0xc000000000000000
test qword [r14 + r9 + 0x40], rax
jne 0x14008a00c
mov ecx, dword [rsp + 0xa8]
lea eax, [rcx + 0x186a0]
mov dword [rsp + 0xc4], eax
jmp 0x140089011
mov ecx, dword [rsp + 0xa8]
cmp byte [rsp + 0x58], dl
je 0x140089082
mov rax, qword [r14 + r9 + 8]
cmp rax, rdx
jle 0x140089082
cmp qword [rsp + 0x1d0], rax
je 0x140089035
cmp qword [rsp + 0x1c8], rax
jne 0x140089082
cmp word [rsp + 0x130], dx
je 0x140089582
cmp r10d, edx
jle 0x140089582
movzx eax, byte [rsp + 0x48]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
mov edx, dword [rsp + 0x64]
or eax, r13d
lea rcx, [rbp + 0x10c000]
xor r9d, r9d
mov r8d, r10d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call fcn.14005905c
jmp 0x140089582
cmp dword [rsp + 0xb4], edx
jne 0x1400890b1
cmp r15d, edx
je 0x140089582
cmp r10d, edx
jle 0x140089582
cmp r15d, 5
je 0x140089582
cmp r15d, 0xf
je 0x140089582
cmp dword [rsp + 0x50], edx
jg 0x1400890d1
cmp qword [r14 + r9 + 0x10], 0x200
jg 0x1400890d1
test r15b, 0x10
je 0x140089582
jmp 0x14008904c
mov eax, dword [rsp + 0x138]
mov r8b, byte [rsp + 0x41]
add eax, r13d
cmp r8b, dl
mov rdx, qword [rsp + 0x1c0]
mov dword [rsp + 0x138], eax
jne 0x140089104
cmp rdx, r13
jl 0x140089104
cmp dword [rsp + 0x70], r10d
jne 0x140089582
test rdx, rdx
js 0x14008911d
lea eax, [rcx + 0x3e8]
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0x138]
xor ecx, ecx
cmp r8b, cl
jne 0x140089c32
mov ecx, dword [rsp + 0x50]
xor r8d, r8d
cmp ecx, r8d
jl 0x140089142
cmp ecx, r10d
jne 0x140089142
cmp r10d, r8d
jg 0x140089c30
xor r15d, r15d
cmp word [rsp + 0x130], r15w
jne 0x140089582
mov r8d, dword [rsp + 0x4c]
cmp r8d, r15d
jne 0x140089170
cmp rdx, r15
jge 0x140089170
cmp ecx, r15d
jle 0x140089170
cmp eax, ecx
jge 0x140089e7c
xor eax, eax
or r15, 0xffffffffffffffff
cmp ecx, eax
je 0x140089180
cmp byte [rsp + 0x49], al
je 0x1400891ff
cmp r11b, al
jne 0x1400893bb
mov eax, dword [rsp + 0x10c]
test al, 0x10
jne 0x1400891a6
cmp eax, 0x84
je 0x1400891a6
cmp eax, 0xef
jne 0x1400893d2
xor eax, eax
cmp byte [rsp + 0xf5], al
je 0x1400891ff
mov r8d, dword [rsp + 0x64]
movzx ecx, ax
lea r9, [rbp + 0x10c000]
movsx rax, cx
imul rax, rax, 0x220
cmp dword [rax + r9 + 4], r8d
jne 0x1400891e6
cmp dword [rax + r9], r10d
jne 0x1400891e6
xor r11d, r11d
cmp dword [rax + r9 + 0x10], r11d
jg 0x1400893e7
add cx, r13w
mov eax, 0x1a
cmp cx, ax
jl 0x1400891c0
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x4c]
xor eax, eax
cmp byte [rsp + 0x43], al
je 0x14008920a
cmp ecx, r10d
je 0x140089221
cmp ecx, eax
jl 0x140089221
cmp r8d, eax
je 0x140089218
cmp ecx, r10d
je 0x140089221
cmp rdx, rax
jl 0x140089582
mov r14b, al
mov word [rsp + 0xf2], ax
movzx r13d, ax
lea rax, [rbp + 0x10c000]
mov edx, 1
mov ecx, dword [rsp + 0xb4]
movsx r11, r13w
xor r8d, r8d
imul r11, r11, 0x220
cmp dword [r11 + rax + 8], 5
je 0x14008926a
cmp ecx, r8d
je 0x140089273
cmp dword [r11 + rax + 8], 5
jne 0x14008938b
cmp ecx, r8d
je 0x14008938b
mov r9d, dword [rsp + 0x64]
cmp dword [r11 + rax + 4], r9d
jne 0x140089390
cmp dword [r11 + rax], r10d
jne 0x140089390
cmp dword [r11 + rax + 0x10], r8d
jle 0x140089390
movzx ecx, byte [r11 + rax + 0x10]
mov r14b, dl
mov word [rsp + 0xf2], cx
cmp dword [rsp + 0x4c], r8d
je 0x1400893f2
mov rdx, rax
call fcn.1400598cc
mov eax, dword [rsp + 0xa8]
xor ecx, ecx
add eax, 0x3e8
mov dword [rsp + 0xc4], eax
lea rax, [rbp + 0x10c000]
movzx eax, word [r11 + rax + 0x10]
mov word [rsp + 0x5c], ax
mov word [rsp + 0x98], ax
cmp dword [rsp + 0xa0], ecx
je 0x14008931b
mov r9d, dword [rsp + 0x84]
mov r8d, dword [rsp + 0x64]
movzx eax, ax
lea rdx, str.unshow_pt:__d:_d__c_r_n
lea rcx, [0x14011c020]
mov dword [rsp + 0x20], eax
call fcn.1400178e8
xor eax, eax
cmp dword [rsp + 0x6c], eax
je 0x14008933d
lea rcx, [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
xor ecx, ecx
cmp eax, ecx
jne 0x14008933d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx eax, word [r12]
lea rdx, [rsp + 0x5c]
neg ax
sbb r8, r8
xor eax, eax
mov ecx, eax
and r8, r12
or ecx, dword [rsp + 0x7c]
or ecx, 2
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
xor ecx, ecx
cmp eax, ecx
jne 0x14008936d
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
cmp dword [rsp + 0x6c], eax
je 0x14008937f
movzx ecx, word [rsp + 0x5c]
call fcn.140058e58
lea rax, [rbp + 0x10c000]
mov edx, 1
mov r9d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x84]
add r13w, dx
mov ecx, 0x1a
cmp r13w, cx
jl 0x14008923c
xor r13d, r13d
cmp dword [rsp + 0x4c], r13d
jne 0x14008957c
jmp 0x1400893f5
movabs r11, 0xc000000000000000
test qword [r14 + r9 + 0x40], r11
jne 0x1400891a8
jmp 0x1400893d4
xor eax, eax
mov r15d, 2
cmp ecx, eax
je 0x140089221
jmp 0x1400891ff
mov r15w, r13w
xor eax, eax
jmp 0x140089221
xor r13d, r13d
cmp r15w, r13w
jg 0x14008945a
cmp byte [rsp + 0x49], r13b
je 0x14008945a
mov cl, byte [rsp + 0x44]
cmp cl, r13b
jne 0x140089435
mov eax, dword [rsp + 0x10c]
test al, 0x10
jne 0x14008957c
cmp eax, 0x84
je 0x14008957c
cmp eax, 0xef
je 0x14008957c
cmp cl, r13b
je 0x14008945a
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0xe0]
movabs r8, 0xc000000000000000
test qword [rax + rcx + 0x40], r8
jne 0x14008957c
mov rax, qword [rsp + 0x118]
movzx r15d, word [rsp + 0xac]
movzx r8d, r13w
mov word [rsp + 0x124], r13w
mov word [rsp + 0x10c], r13w
mov qword [rsp + 0x158], rax
cmp dword [rsp + 0xa0], r13d
je 0x1400898a4
mov r11b, byte [rsp + 0x4a]
cmp r11b, r13b
jne 0x1400894ab
cmp byte [rsp + 0x120], r13b
je 0x140089522
movzx ecx, r13w
mov r13, qword [rsp + 0xd8]
mov r11d, dword [rsp + 0xb4]
movsx rax, cx
xor r14d, r14d
imul rax, rax, 0x220
cmp dword [rax + r13 + 8], 5
je 0x1400894e2
cmp r11d, r14d
je 0x1400894e7
cmp dword [rax + r13 + 8], 5
jne 0x1400894f4
cmp r11d, r14d
je 0x1400894f4
cmp dword [rax + r13 + 4], r9d
jne 0x1400894f4
cmp dword [rax + r13], r10d
je 0x140089503
add cx, dx
mov eax, 0x1a
cmp cx, ax
jge 0x14008951d
jmp 0x1400894b7
movsx rax, cx
imul rax, rax, 0x220
mov r8w, word [rax + r13 + 0x10]
mov word [rsp + 0x124], r8w
mov r11b, byte [rsp + 0x4a]
mov r9d, dword [rsp + 0x134]
mov r10d, dword [rsp + 0xac]
mov r13d, edx
add r9d, edx
movzx eax, r10w
sub eax, 0x41
mov dword [rsp + 0x134], r9d
mov cl, al
mov al, byte [rsp + 0x40]
shl r13d, cl
xor ecx, ecx
cmp byte [rsp + 0xf0], cl
je 0x1400895d1
cmp al, cl
je 0x1400895ec
cmp dword [rsp + 0x140], 4
jle 0x1400895ec
add r9d, edx
mov dword [rsp + 0x134], r9d
cmp al, dl
jne 0x1400895ec
mov r13d, 1
mov ecx, dword [rsp + 0x110]
mov eax, dword [rsp + 0xc4]
mov r14d, dword [rsp + 0xa8]
sub ecx, r13d
add eax, r13d
xor edx, edx
cmp ecx, edx
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0x110], ecx
jg 0x140088dcb
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x140088c94
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140088c94
cmp al, dl
jne 0x1400895ec
mov eax, dword [rsp + 0xa8]
add eax, 0x3e8
mov dword [rsp + 0xc4], eax
mov al, byte [rsp + 0x40]
mov r14w, word [rsp + 0xf2]
cmp al, 2
jne 0x140089608
cmp r14w, cx
je 0x140089608
cmp r9d, edx
je 0x14008957c
cmp r11b, cl
je 0x140089626
cmp r8w, cx
je 0x14008957c
mov eax, 0x2000
test ax, r8w
jne 0x14008957c
movzx eax, word [rsp + 0x148]
cmp ax, r14w
je 0x14008957c
cmp ax, r10w
jne 0x14008965f
mov rcx, qword [rsp + 0x118]
xor eax, eax
cmp byte [rcx], al
je 0x14008957c
add rcx, rdx
mov qword [rsp + 0x118], rcx
movsx r10d, byte [rcx]
mov eax, dword [rsp + 0xb4]
movzx r9d, word [rsp + 0x82]
lea r8, [rsp + 0x1e0]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x118]
lea rdx, [rbp + 0x10c000]
movzx ecx, r10w
mov qword [rsp + 0x20], rax
call fcn.140059978
mov rcx, qword [rsp + 0x118]
mov r10w, ax
mov r11w, ax
mov word [rsp + 0x98], ax
mov word [rsp + 0x5c], ax
mov r15w, ax
mov qword [rsp + 0x158], rcx
mov dword [rsp + 0xac], r10d
mov dword [rsp + 0xa4], r11d
cmp ax, 0x5a
ja 0x14008957c
xor eax, eax
cmp byte [rcx], al
je 0x1400896f8
inc rcx
mov qword [rsp + 0x118], rcx
movsx eax, byte [rcx]
mov dword [rsp + 0xac], eax
jmp 0x140089705
mov eax, 0x5b
mov word [rsp + 0xac], ax
cmp r14w, r11w
jne 0x140089735
movsxd rcx, dword [rsp + 0x108]
xor r13d, r13d
cmp rcx, r13
je 0x14008957c
lea rdx, [rsp + 0x160]
movzx ecx, r11w
call fcn.140059918
jmp 0x14008957c
mov eax, dword [rsp + 0x88]
test eax, r13d
lea r13, [rbp + 0x10c000]
je 0x1400897e0
mov rdx, r13
movzx ecx, r11w
call fcn.1400598cc
lea rdx, str.unshow_int1__c_r_n
lea rcx, [0x14011c020]
movzx r8d, r11w
mov word [rsp + 0x98], r11w
mov word [rsp + 0x5c], r11w
call fcn.1400178e8
lea rcx, [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
xor ecx, ecx
cmp eax, ecx
jne 0x140089798
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
lea rdx, [rsp + 0x5c]
xor r8d, r8d
mov ecx, eax
or ecx, dword [rsp + 0x7c]
or ecx, 2
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
xor ecx, ecx
cmp eax, ecx
jne 0x1400897bd
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
cmp dword [rsp + 0x6c], eax
je 0x1400897cf
movzx ecx, word [rsp + 0x5c]
call fcn.140058e58
mov r11d, dword [rsp + 0xa4]
mov word [rsp + 0x10c], r11w
xor eax, eax
cmp r14w, ax
je 0x14008989c
mov rdx, r13
movzx ecx, r14w
call fcn.1400598cc
movzx r13d, r14w
lea rdx, str.unshow_int2__c_r_n
lea rcx, [0x14011c020]
mov r8d, r13d
mov word [rsp + 0x98], r14w
mov word [rsp + 0x5c], r14w
call fcn.1400178e8
lea rcx, [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
xor r14d, r14d
cmp eax, r14d
jne 0x14008983d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, r14d
lea rdx, [rsp + 0x5c]
xor r8d, r8d
or ecx, dword [rsp + 0x7c]
or ecx, 2
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
cmp eax, r14d
jne 0x140089860
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [rsp + 0x6c], r14d
je 0x140089871
movzx ecx, word [rsp + 0x5c]
call fcn.140058e58
mov r11d, dword [rsp + 0xa4]
lea ecx, [r13 - 0x41]
mov eax, 1
shl eax, cl
mov word [rsp + 0x98], r11w
mov word [rsp + 0x5c], r11w
not eax
and dword [rsp + 0x88], eax
xor r13d, r13d
mov r14b, r13b
jmp 0x1400898ac
mov r11d, dword [rsp + 0xa4]
cmp r14b, r13b
je 0x1400898c6
cmp r11w, r13w
je 0x14008957c
cmp byte [rsp + 0x54], r13b
jne 0x14008957c
mov r13d, dword [rsp + 0x84]
mov r14d, dword [rsp + 0x64]
xor eax, eax
cmp dword [rsp + 0xb4], eax
lea rax, str..CDROM_d
lea rdx, str.DeviceHarddisk_dPartition_d
movsx r9d, r13w
mov r8d, r14d
mov rcx, r12
cmovne rdx, rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov r8d, dword [rsp + 0xa4]
xor eax, eax
cmp r8w, ax
je 0x140089928
mov edx, dword [rsp + 0xc8]
cmp dl, al
jne 0x140089928
movzx eax, word [rsp + 0x5c]
movzx ecx, word [rsp + 0x98]
jmp 0x14008996a
mov r8b, byte [rsp + 0x55]
mov r9, qword [rsp + 0x118]
lea rcx, [rsp + 0x88]
sub r8b, 0x41
mov edx, 0xc
call fcn.140058ed4
mov edx, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xa4]
mov cx, ax
mov word [rsp + 0x98], ax
mov word [rsp + 0x5c], ax
mov r9d, 0x41
sub ax, r9w
cmp ax, 0x19
ja 0x14008a076
xor eax, eax
cmp cx, ax
je 0x140089b4a
lea r14d, [r9 - 0x40]
cmp r8w, cx
jne 0x1400899aa
xor ecx, ecx
movzx eax, dl
cmp dword [rsp + 0xa0], ecx
cmove eax, r14d
mov byte [rsp + 0xc8], al
mov eax, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x7c]
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x5c]
mov rcx, r12
mov byte [rsp + 0x20], al
call fcn.14006c90c
xor ecx, ecx
cmp eax, ecx
je 0x1400899e2
mov dword [rsp + 0x90], ecx
mov dword [rsp + 0xbc], ecx
jmp 0x1400899f6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xbc], eax
test byte [rsp + 0x48], 0x10
mov r13d, r14d
je 0x140089a16
movzx ecx, word [rsp + 0x98]
mov edx, 2
lea r8d, [rdx + 0x30]
call fcn.14001ad28
xor ecx, ecx
cmp byte [rsp + 0x120], cl
je 0x140089ac4
cmp word [rsp + 0x124], cx
jne 0x140089ac4
movzx eax, word [rsp + 0x98]
mov word [rsp + 0x18c], cx
lea rdx, [rsp + 0x730]
mov word [rsp + 0x180], ax
lea eax, [rcx + 0x3a]
mov word [rsp + 0x182], ax
lea eax, [rcx + 0x5c]
mov word [rsp + 0x184], ax
lea eax, [rcx + 0x4e]
mov word [rsp + 0x186], ax
lea eax, [rcx + 0x55]
mov word [rsp + 0x188], ax
lea eax, [rcx + 0x4c]
lea rcx, [rsp + 0x180]
mov word [rsp + 0x18a], ax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
or rdx, 0xffffffffffffffff
cmp rax, rdx
je 0x140089bb3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [rsp + 0x98]
mov eax, r14d
add ecx, 0xffffffbf
shl eax, cl
or dword [rsp + 0x88], eax
xor r14d, r14d
cmp dword [rsp + 0xa0], r14d
mov r14d, dword [rsp + 0x64]
je 0x140089b02
movzx eax, word [rsp + 0x5c]
mov r9d, dword [rsp + 0x84]
lea rdx, str.show_pt:__d:_d__c__d_r_n
lea rcx, [0x14011c020]
mov r8d, r14d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call fcn.1400178e8
xor eax, eax
cmp r13d, eax
je 0x140089b3c
cmp byte [rsp + 0x42], al
jne 0x140089b15
cmp byte [rsp + 0x40], al
je 0x140089b3c
movsxd rcx, dword [rsp + 0x108]
xor edx, edx
mov rax, rcx
cmp rcx, rdx
je 0x140089b3c
movzx ecx, word [rsp + 0x98]
lea rdx, [rsp + 0x160]
call fcn.140059918
mov r13d, dword [rsp + 0x84]
mov r9d, 0x41
movzx eax, word [rsp + 0x10c]
xor ecx, ecx
cmp ax, cx
je 0x14008957c
mov r8d, dword [rsp + 0xa4]
sub ax, r9w
mov r9d, 0xfffffff1
movsx rcx, ax
xor edx, edx
mov eax, r9d
imul rcx, rcx, 0x220
cmp r8w, dx
cmovne eax, r14d
mov dword [rcx + rbp + 0x10c004], eax
mov eax, r9d
xor r9d, r9d
cmp r8w, r9w
cmovne eax, r13d
mov dword [rcx + rbp + 0x10c000], eax
movzx eax, r8w
mov dword [rcx + rbp + 0x10c010], eax
jmp 0x14008957c
mov rax, qword [rsp + 0x158]
xor r14d, r14d
lea rcx, [rsp + 0x98]
mov word [rsp + 0xac], r15w
mov dword [rsp + 0xa4], r14d
mov r13d, r14d
mov qword [rsp + 0x118], rax
call qword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
cmp eax, r14d
jne 0x140089bf3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, r14d
lea rdx, [rsp + 0x5c]
xor r8d, r8d
or ecx, dword [rsp + 0x7c]
or ecx, 2
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
cmp eax, r14d
jne 0x140089c16
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [rsp + 0x6c], r14d
je 0x140089ac7
movzx ecx, word [rsp + 0x5c]
call fcn.140058e58
jmp 0x140089ac7
xor ecx, ecx
mov eax, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x64]
mov r9d, ecx
or r9d, dword [rsp + 0x7c]
lea rcx, [rsp + 0xbc]
shl eax, 8
or eax, dword [rsp + 0x4c]
mov qword [rsp + 0x38], rcx
mov ecx, dword [rsp + 0x6c]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], ecx
lea rcx, [rbp + 0x10c000]
mov r8d, r10d
mov dword [rsp + 0x20], eax
call fcn.14005905c
xor ecx, ecx
cmp word [rsp + 0x130], cx
jne 0x140089e1b
cmp dword [rsp + 0x4c], ecx
jne 0x14008a0e5
cmp byte [rsp + 0x49], cl
je 0x140089ce2
test r15b, 0x10
jne 0x140089e1b
cmp r15d, 0x84
je 0x140089e1b
cmp r15d, 0xef
je 0x140089e1b
cmp byte [rsp + 0x44], cl
je 0x140089ce2
mov rcx, qword [rsp + 0xe0]
movabs rdx, 0xc000000000000000
test qword [r14 + rcx + 0x40], rdx
jne 0x140089e1b
xor ecx, ecx
cmp eax, ecx
je 0x140089cfe
cmp word [rsp + 0xa4], cx
je 0x14008a0e5
cmp byte [rsp + 0x54], cl
jne 0x14008a0e5
mov r14d, dword [rsp + 0x84]
mov r15d, dword [rsp + 0x64]
lea rdx, str.DeviceHarddisk_dPartition_d
movsx r9d, r14w
mov r8d, r15d
mov rcx, r12
call qword [sym.imp.USER32.dll_wsprintfW]
movzx r11d, word [rsp + 0x5c]
xor ecx, ecx
cmp r11w, cx
jne 0x140089d66
mov r8b, byte [rsp + 0x55]
mov r9, qword [rsp + 0x118]
lea edx, [rcx + 0xc]
lea rcx, [rsp + 0x88]
sub r8b, 0x41
call fcn.140058ed4
xor ecx, ecx
mov word [rsp + 0x98], ax
mov r11w, ax
mov word [rsp + 0x5c], ax
jmp 0x140089d6e
movzx eax, word [rsp + 0x98]
mov edx, 0x41
cmp r11w, dx
jb 0x14008a076
cmp r11w, 0x5a
ja 0x14008a076
cmp ax, cx
je 0x140089dfb
cmp dword [rsp + 0xa0], ecx
je 0x140089db7
movzx eax, r11w
lea rdx, str.unshow_pt:__d:_d__c_r_n
lea rcx, [0x14011c020]
mov r9d, r14d
mov r8d, r15d
mov dword [rsp + 0x20], eax
call fcn.1400178e8
mov eax, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x7c]
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x5c]
mov rcx, r12
mov byte [rsp + 0x20], al
call fcn.14006c90c
xor ecx, ecx
cmp eax, ecx
je 0x140089dea
mov eax, ecx
mov dword [rsp + 0xbc], ecx
jmp 0x140089e02
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov dword [rsp + 0xbc], eax
jmp 0x140089e02
mov eax, dword [rsp + 0xbc]
cmp dword [rsp + 0x50], ecx
mov dword [rsp + 0x90], eax
jl 0x140089582
movsxd rsi, eax
jmp 0x14008a0ed
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x90], eax
jmp 0x140089582
add r15w, r13w
mov eax, 0x20
cmp r15w, ax
jl 0x140088ca1
mov r15d, dword [rsp + 0x50]
xor ebx, ebx
mov bpl, byte [rsp + 0x40]
add dword [rsp + 0x12c], r13d
cmp bpl, r13b
jne 0x140089eab
mov byte [rsp + 0x40], 2
lea rcx, [rsp + 0xe8]
call fcn.140054c44
mov r14b, byte [rsp + 0x45]
mov bl, byte [rsp + 0x43]
xor ebp, ebp
jmp 0x14008880f
movsx eax, word [rsp + 0xb8]
mov r15d, r10d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x68], eax
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x140089e46
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140089e46
mov r15d, dword [rsp + 0x50]
jmp 0x140089e48
cmp byte [rsp + 0x56], r13b
jne 0x140089ec1
mov byte [rsp + 0x56], 2
mov byte [rsp + 0x9d8], 0xb
jmp 0x140089e5f
mov r8b, byte [rsp + 0x42]
cmp r8b, bl
jne 0x140089ed4
cmp bpl, bl
je 0x14008a158
mov r9b, byte [rsp + 0x46]
cmp r9b, bl
je 0x14008a158
cmp r8b, r13b
je 0x140089f79
cmp bpl, 2
je 0x140089f79
cmp r8b, 3
je 0x140089f52
cmp bpl, 3
je 0x140089f52
cmp r8b, 4
je 0x140089f48
cmp bpl, 4
je 0x140089f48
cmp r8b, 5
je 0x140089f1d
cmp bpl, 5
jne 0x14008a158
mov byte [rsp + 0x9d8], 0xb
cmp r8b, bl
je 0x140089f32
add r8b, r13b
mov byte [rsp + 0x42], r8b
cmp bpl, bl
je 0x140089e5f
add bpl, r13b
mov byte [rsp + 0x40], bpl
jmp 0x140089e5f
mov byte [rsp + 0x9d8], 0xc
jmp 0x140089f25
cmp r8b, bl
je 0x140089f5f
add r8b, r13b
mov byte [rsp + 0x42], r8b
cmp bpl, bl
je 0x140089f6c
add bpl, r13b
mov byte [rsp + 0x40], bpl
mov dword [rsp + 0x94], r13d
jmp 0x140089e5f
mov r10d, dword [rsp + 0x128]
movzx ecx, r8b
mov eax, r10d
neg eax
sbb edx, edx
and edx, 0xfffffffe
add edx, 5
cmp r8b, bl
movzx eax, dl
cmovne ecx, eax
movzx eax, dl
cmp bpl, bl
mov byte [rsp + 0x42], cl
movzx ecx, bpl
cmovne ecx, eax
mov eax, 0x3f
mov byte [rsp + 0x40], cl
cmp r9b, al
je 0x140089fd9
lea rax, [rsp + 0x160]
mov qword [rsp + 0x118], rax
movsx eax, byte [rsp + 0x160]
mov dword [rsp + 0xac], eax
mov ebp, dword [rsp + 0x94]
mov eax, r10d
mov dword [rsp + 0x108], ebx
neg eax
sbb al, al
and al, 0xf9
add al, 0xc
cmp r10d, ebx
cmove ebp, r13d
mov byte [rsp + 0x9d8], al
mov dword [rsp + 0x94], ebp
jmp 0x140089e5f
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x14008a01e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xe8]
call fcn.140054c44
lea rcx, [rsp + 0xd8]
call fcn.140054c44
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
xor eax, eax
cmp rdi, rax
je 0x14008a06f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x14008a3c0
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x14008a088
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xe8]
call fcn.140054c44
lea rcx, [rsp + 0xd8]
call fcn.140054c44
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
xor eax, eax
cmp rdi, rax
je 0x14008a0d9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, 0xffffffff80070057
jmp 0x14008a3c0
movsxd rsi, dword [rsp + 0xbc]
or rax, 0xffffffffffffffff
cmp rbx, rax
je 0x14008a0ff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xe8]
call fcn.140054c44
lea rcx, [rsp + 0xd8]
call fcn.140054c44
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
xor eax, eax
cmp rdi, rax
je 0x14008a150
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rsi
jmp 0x14008a3c0
cmp r15d, ebx
jle 0x14008a364
cmp dword [rsp + 0x70], ebx
jge 0x14008a364
cmp dword [rsp + 0x4c], ebx
jne 0x14008a364
cmp byte [rsp + 0x41], bl
jne 0x14008a364
cmp byte [rsp + 0x43], bl
jne 0x14008a364
lea rcx, [rsp + 0xe8]
call fcn.140054c44
mov edx, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x4c]
cmp r8d, ebx
jne 0x14008a1ef
cmp edx, ebx
jl 0x14008a1ad
cmp r15d, ebx
jg 0x14008a1ef
lea rcx, [rsp + 0xd8]
call fcn.140054c44
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
cmp rdi, rbx
je 0x140088697
jmp 0x14008868e
cmp edx, ebx
jl 0x14008a215
cmp r15d, ebx
jle 0x14008a215
movsx r8d, dx
lea rdx, str.DeviceHarddisk_dPartition_d
movsx r9d, r15w
mov rcx, r12
call qword [sym.imp.USER32.dll_wsprintfW]
mov r8d, dword [rsp + 0x4c]
mov ecx, 0x3a
mov word [rsi + 2], cx
lea eax, [rcx - 0xe]
cmp ax, word [rsi]
jne 0x14008a22d
mov eax, 0xff0c
jmp 0x14008a259
mov eax, 0x3b
cmp ax, word [rsi]
jne 0x14008a23e
mov eax, 0xff1b
jmp 0x14008a259
cmp cx, word [rsi]
jne 0x14008a24a
mov eax, 0xff1a
jmp 0x14008a259
mov eax, 0x3d
cmp ax, word [rsi]
jne 0x14008a25c
mov eax, 0xff1d
mov word [rsi], ax
mov eax, 0x5c
mov word [rsi + 4], ax
mov word [rsi + 6], bx
movzx eax, word [rsi]
mov word [rsp + 0x14e], cx
mov word [rsp + 0x150], bx
mov word [rsp + 0x14c], ax
cmp word [r12], bx
je 0x14008a2c9
cmp r8d, ebx
jne 0x14008a2c9
mov eax, dword [rsp + 0x6c]
mov r9d, ebx
lea rdx, [rsp + 0x14c]
or r9d, dword [rsp + 0x7c]
mov r8, rsi
mov rcx, r12
mov byte [rsp + 0x20], al
call fcn.14006c90c
cmp eax, ebx
je 0x14008a2bb
mov eax, ebx
jmp 0x14008a2c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd rbx, eax
jmp 0x14008a379
mov ebp, dword [rsp + 0x6c]
cmp ebp, ebx
je 0x14008a2e4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
cmp eax, ebx
jne 0x14008a2e4
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx eax, word [r12]
mov ecx, ebx
lea rdx, [rsp + 0x14c]
neg ax
sbb r8, r8
or ecx, dword [rsp + 0x7c]
or ecx, 2
and r8, r12
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
cmp eax, ebx
jne 0x14008a315
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
xor esi, esi
cmp ebp, esi
je 0x14008a328
movzx ecx, word [rsp + 0x14c]
call fcn.140058e58
lea rcx, [rsp + 0xd8]
movsxd rbx, ebx
call fcn.140054c44
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
cmp rdi, rsi
jmp 0x14008a3b2
movsxd rbx, dword [rsp + 0x90]
lea rcx, [rsp + 0xe8]
call fcn.140054c44
lea rcx, [rsp + 0xd8]
call fcn.140054c44
lea rcx, [rsp + 0xf8]
call fcn.140054c44
lea rcx, [rsp + 0x100]
call fcn.140054c44
lea rcx, [rsp + 0xd0]
call fcn.140054c44
xor eax, eax
cmp rdi, rax
je 0x14008a3bd
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rbx
mov rbx, qword [rsp + 0x9c0]
add rsp, 0x980
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret