Function at 0x140175c10
Capabilities:
Get disk information
Move file

Disassembly:
mov byte [rsp + 0x20], r9b
mov byte [rsp + 0x18], r8b
mov byte [rsp + 0x10], dl
mov byte [rsp + 8], cl
push rsi
push rdi
sub rsp, 0x188
lea rax, [rsp + 0xb8]
lea rcx, str.Tickler_ran
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x30], 0x1e
mov eax, 0x32fb
mov word [rsp + 0x34], ax
movzx eax, byte [rsp + 0x1a0]
movzx ecx, byte [rsp + 0x1b8]
sub eax, ecx
mov byte [rsp + 0x30], al
movsx eax, word [rsp + 0x34]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x43be
je 0x140175cb1
cmp dword [rsp + 0x60], 0x7db4
je 0x140175c8e
jmp 0x140175de9
lea r9, [rsp + 0x34]
mov r8d, 0x81
lea rdx, [rsp + 0x34]
mov rcx, qword [rsp + 0x78]
call sub.WINSPOOL.DRV_WritePrinter
mov dword [rsp + 0x5c], eax
jmp 0x140175de9
movsx eax, word [rsp + 0x34]
add eax, 0x49c3
mov word [rsp + 0x34], ax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x1a0], al
movzx eax, byte [rsp + 0x1a0]
movzx ecx, byte [rsp + 0x30]
and eax, ecx
movzx ecx, byte [rsp + 0x1a8]
movzx edx, byte [rsp + 0x1b8]
xor ecx, edx
cmp eax, ecx
jne 0x140175dca
movsx eax, word [rsp + 0x34]
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0x6da2
je 0x140175d13
jmp 0x140175db1
mov edx, 6
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov qword [rsp + 0xa8], rax
mov r9w, 0xde
mov r8w, 0x7a
mov dx, 0x7c
mov ecx, 0x6a
call fcn.1401769a0
movzx eax, byte [rsp + 0x1b0]
movzx ecx, byte [rsp + 0x1a8]
or eax, ecx
mov byte [rsp + 0x30], al
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetProcessShutdownParameters]
mov dword [rsp + 0x8c], eax
movsx eax, word [rsp + 0x34]
add eax, 0x7616
mov word [rsp + 0x34], ax
mov r9w, 0xe1
mov r8w, 0xe8
mov dx, 0x37
mov ecx, 0x5f
call fcn.1401769a0
movsx eax, word [rsp + 0x34]
sub eax, 0x6abc
mov word [rsp + 0x34], ax
jmp 0x140175dc8
lea rdx, [rsp + 0xb8]
mov ecx, 0x9d
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov dword [rsp + 0x4c], eax
jmp 0x140175de9
mov cx, 0xf5
call fcn.1401751a0
movzx eax, byte [rsp + 0x1a8]
movzx ecx, byte [rsp + 0x1a0]
and eax, ecx
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x31], 0x2f
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x3c], 0x6b5169dd
movsx eax, word [rsp + 0x34]
cmp eax, 0x3cf1
jge 0x1401763b6
movzx eax, word [rsp + 0x34]
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x50]
ja 0x1401762b7
mov eax, 0x62e
mov word [rsp + 0x38], ax
movsx eax, word [rsp + 0x54]
cdq
mov ecx, 0x68b8
idiv ecx
movsx ecx, word [rsp + 0x34]
cmp eax, ecx
jl 0x140175e9a
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rsp + 0x48], eax
movzx r9d, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x1b0]
movzx ecx, byte [rsp + 0x30]
call fcn.140175c10
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x1a0], al
movsx eax, byte [rsp + 0x31]
cmp eax, 0x43
jl 0x140175ec0
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [rsp + 0x58], eax
jmp 0x140175fbe
movsx eax, byte [rsp + 0x31]
imul eax, eax, 0x42
cmp eax, 0xf
je 0x140175fbe
lea rax, [rsp + 0x31]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0x75f77133
je 0x140175ef8
jmp 0x140175fbe
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x31]
and eax, ecx
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
movzx r9d, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x1b0]
movzx edx, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
call fcn.140175c10
mov eax, dword [rsp + 0x3c]
add eax, 0x46fff264
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax]
mov byte [rsp + 0x9c], al
cmp byte [rsp + 0x9c], 0x3b
je 0x140175f54
jmp 0x140175fa8
movsx eax, byte [rsp + 0x31]
sub eax, 0x58
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xbb
mov r8d, 0xc0
mov edx, 0xf3
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
mov dword [rsp + 0x58], eax
movzx eax, byte [rsp + 0x1b8]
movzx ecx, byte [rsp + 0x1b0]
sub eax, ecx
mov byte [rsp + 0x30], al
jmp 0x140175fbe
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x31]
add eax, ecx
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0x3e372033
je 0x140175fe5
jmp 0x1401760da
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_FindNextChangeNotification]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x31]
sub eax, ecx
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x4c]
ja 0x140176021
jmp 0x14017603a
mov edx, dword [rsp + 0xb4]
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
mov dword [rsp + 0x5c], eax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x88], al
cmp byte [rsp + 0x88], 0x40
je 0x140176052
jmp 0x140176054
jmp 0x140176064
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
and eax, 0x4efe1079
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0x1b0], al
movzx ecx, word [rsp + 0x38]
call fcn.1401751a0
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
or eax, 0x7e7c5ed8
mov dword [rsp + 0x3c], eax
movzx r9d, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x1a8]
movzx ecx, byte [rsp + 0x30]
call fcn.140175c10
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x31]
shl eax, cl
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
jmp 0x140176265
movsx eax, word [rsp + 0x34]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0x32fb
je 0x140176100
cmp dword [rsp + 0x64], 0x7118
je 0x1401761ca
jmp 0x1401761ef
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
and eax, 0x46
movsx ecx, byte [rsp + 0x31]
cmp eax, ecx
jle 0x1401761bb
movzx eax, word [rsp + 0x38]
sub eax, 0xf5b
mov word [rsp + 0x38], ax
movsx eax, byte [rsp + 0x31]
add eax, 0x34
mov rcx, qword [rsp + 0x40]
movsx ecx, byte [rcx]
cmp eax, ecx
jle 0x1401761b9
movsx eax, word [rsp + 0x34]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0xa5c
je 0x14017615a
cmp dword [rsp + 0x68], 0x745f
je 0x1401761a3
jmp 0x1401761b9
movsx eax, byte [rsp + 0x31]
sub eax, 0x32
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
xor eax, 0x2569bc92
mov dword [rsp + 0x3c], eax
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetNumberOfConsoleMouseButtons]
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x31]
shl eax, cl
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
jmp 0x1401761b9
movzx eax, byte [rsp + 0x1a0]
movzx ecx, byte [rsp + 0x1b0]
or eax, ecx
mov byte [rsp + 0x30], al
jmp 0x1401761c8
lea rax, [rsp + 0x4c]
mov qword [rsp + 0xd8], rax
jmp 0x1401761ef
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x31]
add eax, ecx
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea rcx, [rsp + 0x110]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
nop
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x1a0], al
movzx eax, byte [rsp + 0x1a0]
movzx ecx, byte [rsp + 0x30]
add eax, ecx
movzx ecx, byte [rsp + 0x1b8]
movzx edx, byte [rsp + 0x1b0]
sub ecx, edx
cmp eax, ecx
je 0x140176235
mov ecx, 0xaf
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x80], rax
jmp 0x140176265
mov eax, dword [rsp + 0x3c]
sub eax, 0x32171817
mov rcx, qword [rsp + 0x70]
cmp eax, dword [rcx]
jne 0x140176265
movsx eax, byte [rsp + 0x31]
add eax, 0x4c
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
movzx eax, byte [rsp + 0x1b0]
mov byte [rsp + 0x1a0], al
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
and eax, 0x37a6cdb
mov dword [rsp + 0x3c], eax
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcessWorkingSetSize]
mov dword [rsp + 0x6c], eax
movsx eax, byte [rsp + 0x31]
sub eax, 0x63
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
movzx eax, word [rsp + 0x38]
add eax, 0x4db
mov word [rsp + 0x38], ax
jmp 0x14017633d
movsx eax, word [rsp + 0x34]
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0xe49
je 0x1401762d2
jmp 0x140176308
mov dword [rsp + 0x20], 0x41
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x3c]
sar eax, 0xa
mov dword [rsp + 0x3c], eax
jmp 0x14017633d
mov ecx, 0xb4
call qword [sym.imp.KERNEL32.dll_SetThreadLocale]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x50]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
movzx eax, byte [rsp + 0x1a8]
movzx ecx, byte [rsp + 0x1b8]
xor eax, ecx
mov byte [rsp + 0x30], al
movsx eax, byte [rsp + 0x31]
shl eax, 2
mov byte [rsp + 0x31], al
cmp dword [rsp + 0x3c], 0x2cbc68ca
jne 0x1401763aa
movzx r9d, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x1b8]
call fcn.140175c10
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0x1b0], al
mov dword [rsp + 0x20], 0x7c
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x3c]
lea rdx, str.C:_thrombus_flaccidityAffixdavinci
lea rcx, str.C:_swarthiestAccretedcannabisUnproductive_stargazer
call qword [sym.imp.KERNEL32.dll_MoveFileWithProgressA]
mov dword [rsp + 0x5c], eax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x1b0], al
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [rsp + 0x6c], eax
mov cx, 0xf4
call fcn.1401751a0
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
mov dword [rsp + 0x5c], eax
mov eax, 0xc8
add rsp, 0x188
pop rdi
pop rsi
ret