Function at 0x414a80
Capabilities:
Accept command line arguments
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x4985e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov eax, dword [0x4bfcf8]
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x10], eax
xor ebx, ebx
mov dword [esp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [esp + 0x14]
call fcn.0047386e
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0047345a
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 1
call fcn.00473b93
or ecx, 0xffffffff
mov edi, 0x4c2a80
xor eax, eax
mov dword [ebp + 0x1035], ecx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x1045]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov esi, 1
mov ecx, esp
mov dword [esp + 0x18], esp
push str._DISK:
mov dword [ebp + 0x1039], ebx
mov byte [ebp + 0x1041], bl
mov byte [ebp + 0x1042], bl
mov byte [ebp + 0x1044], bl
mov byte [ebp + 0x1043], bl
mov dword [ebp + 0x103d], esi
call fcn.00473753
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x34], 2
call fcn.0047345a
mov byte [esp + 0x30], 1
call fcn.004149a0
add esp, 8
lea ecx, [esp + 0x10]
mov dword [ebp + 0x1030], eax
push str._FUNCTION:BENCHMARK
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414b83
mov dword [ebp + 0x1035], ebx
push str._FUNCTION:INFO
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414b9c
mov dword [ebp + 0x1035], esi
push str._FUNCTION:ERRORSCAN
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414bb9
mov dword [ebp + 0x1035], 3
push str._FUNCTION:HEALTH
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414bd6
mov dword [ebp + 0x1035], 2
push str._FUNCTION:FOLDERUSAGE
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414bf3
mov dword [ebp + 0x1035], 4
push str._FUNCTION:ERASE
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414c10
mov dword [ebp + 0x1035], 5
push str._FUNCTION:FILEBENCHMARK
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414c2d
mov dword [ebp + 0x1035], 6
push str._FUNCTION:DISKMONITOR
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414c4a
mov dword [ebp + 0x1035], 7
push str._FUNCTION:AAM
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414c67
mov dword [ebp + 0x1035], 8
push str._FUNCTION:EXTRATESTS
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414c84
mov dword [ebp + 0x1035], 0xa
push str._FUNCTION:ACCESSTEST
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414ca1
mov dword [ebp + 0x1035], 9
push str._LOG:
lea ecx, [esp + 0x14]
call fcn.0046c0a8
xor edi, edi
cmp eax, 0xffffffff
je 0x414d29
mov ecx, dword [esp + 0x10]
lea ebx, [eax + 5]
mov edx, dword [ecx - 8]
cmp ebx, edx
jge 0x414ce4
mov esi, ebx
mov eax, esi
inc edi
inc esi
movsx eax, byte [eax + ecx]
push eax
call fcn.00446cf2
add esp, 4
test eax, eax
je 0x414ce4
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx - 8]
jl 0x414cc6
push edi
lea ecx, [esp + 0x18]
push ebx
push ecx
lea ecx, [esp + 0x24]
call fcn.0046befc
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x1045]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.004736e5
mov esi, 1
xor ebx, ebx
push str._START
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414d42
mov dword [ebp + 0x1039], esi
push str._QUIT
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414d5c
mov byte [ebp + 0x1041], 1
push str._MINIMIZE
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414d76
mov byte [ebp + 0x1042], 1
push str._QUICKSCAN
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414d90
mov byte [ebp + 0x1043], 1
push str._WRITE
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414dad
mov dword [ebp + 0x103d], 2
push str._PORTABLE
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414dc7
mov byte [ebp + 0x4b4ce], 1
push str._LIST
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414de1
mov byte [ebp + 0x1034], 1
push str._SAFE
lea ecx, [esp + 0x14]
call fcn.0046c0a8
cmp eax, 0xffffffff
je 0x414e38
mov ecx, dword [esp + 0x10]
mov byte [ebp + 0x4b4cf], 1
mov dl, byte [eax + ecx + 6]
movsx ecx, byte [eax + ecx + 7]
sub ecx, 0x30
mov eax, 0xff
cmp ecx, ebx
jle 0x414e32
cmp ecx, 9
jge 0x414e32
cmp dl, 0x2d
jne 0x414e24
mov eax, esi
shl eax, cl
jmp 0x414e32
cmp dl, 0x2b
jne 0x414e32
shl esi, cl
mov eax, 0xff
sub eax, esi
mov dword [ebp + 0x4b050], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x28], 0
call fcn.004736e5
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], 0xffffffff
call fcn.004736e5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov al, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x1c
ret