Function at 0x40aef0
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
sub esp, 0x14
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edx, eax
mov ecx, 0x25
xor eax, eax
mov edi, 0x21b48cc
rep stosd dword es:[edi], eax
push str.mhdd.exe
push edx
mov dword [0x21b4964], edx
stosw word es:[edi], ax
call fcn.0040ae70
add esp, 8
cmp eax, 0xffffffff
jne 0x40af2d
push 1
call fcn.0040bbc7
mov ecx, dword [0x21b4964]
dec eax
push eax
mov byte [ecx], 0x22
mov edx, dword [0x21b4964]
inc edx
push edx
push 0x21b48cc
call fcn.0040b9f0
mov eax, dword [0x21b4964]
push 0x416280
push eax
call fcn.0040ae70
mov ebx, eax
add esp, 0x14
cmp ebx, 0xffffffff
jne 0x40af6b
push 1
call fcn.0040bbc7
mov eax, dword [0x21b4964]
xor ecx, ecx
push ebp
xor edx, edx
mov cl, byte [eax + ebx + 3]
lea ebp, [eax + ebx + 4]
sub ecx, 0x30
mov edi, 0x21b48cc
mov dword [0x21b45e0], ecx
mov dl, byte [ebp]
sub edx, 0x30
xor ecx, ecx
mov dword [0x21b45dc], edx
mov cl, byte [eax + ebx + 5]
sub ecx, 0x30
xor eax, eax
mov dword [0x21b45d8], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push esi
mov edx, ecx
mov esi, edi
shr ecx, 2
mov edi, 0x21b4834
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, str.A.TXT
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, 0x21b4834
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x21b48cc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x21b466c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.MHDD.INI
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b466c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x21b48cc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, 0x21b479c
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push 0x21b479c
rep movsb byte es:[edi], byte [esi]
mov edi, 0x416268
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b479c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0040b8c0
or ecx, 0xffffffff
mov edi, str..TXT
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b479c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x21b48cc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x21b4704
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x41625c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b4704
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x21b4964]
push 1
lea ecx, [eax + ebx + 4]
push ecx
push 0x21b4704
call fcn.0040b8c0
mov edi, str..TXT
or ecx, 0xffffffff
xor eax, eax
push 0xb
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b4704
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x2c], eax
and ecx, 3
mov dword [esp + 0x30], eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x21b4964]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea edx, [ecx + ebx + 6]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.0040b9f0
lea ecx, [esp + 0x34]
push ecx
call fcn.0040b44a
mov edx, dword [0x21b4964]
push str._HIDE
push edx
call fcn.0040ae70
add esp, 0x30
cmp eax, 0xffffffff
sete al
mov byte [0x4190b0], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x14
ret