Function at 0x406012
Capabilities:
Delete file
Get file attributes
Move file
Print debug messages
Terminate process

Disassembly:
mov eax, 0x439467
call fcn.00416cd8
mov eax, 0x3940
call fcn.00417cc0
mov eax, dword [0x44c608]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor eax, ebp
mov esi, 0x44d594
push edi
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.00401881
push 0x44d59c
mov dword [ebx + 0xa4], 0xd
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov edx, 0x8b
mov byte [ebp - 0xb00], 0
mov ecx, edx
lea edi, [ebp - 0xaff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x8d0], 0
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x8cf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x382c]
stosb byte es:[edi], al
call fcn.0042b3e5
and dword [ebp - 4], 0
mov ecx, esi
call fcn.00401881
mov eax, dword [ebx + 0x72e4]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x44d59c
mov dword [ebp - 0x3864], eax
call edi
and dword [ebp - 0x3852], 0
mov ecx, esi
mov dword [ebp - 0x3860], 1
mov word [ebp - 0x3854], 0x214
call fcn.00401881
movzx eax, word [ebx + 0xb0]
lea ecx, [ebx + 0xcd8]
add eax, 0xf
push ecx
lea eax, [eax + eax*2]
push ecx
fld dword [ebx + eax*4]
lea eax, [ebp - 0xb00]
fstp qword [esp]
push ecx
push str._s_temp_.5f.zip
push eax
call fcn.00417512
add esp, 0x14
push 0x44d59c
call edi
lea eax, [ebp - 0xb00]
mov ecx, esi
mov dword [ebp - 0x385c], eax
call fcn.00401881
lea eax, [ebx + 0xcd8]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.00417512
pop ecx
pop ecx
push 0x44d59c
call edi
lea eax, [ebp - 0x8d0]
mov dword [ebp - 0x3858], eax
lea eax, [ebp - 0x3864]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
test eax, eax
mov ecx, esi
je 0x406191
call fcn.00401881
xor esi, esi
push esi
push esi
push 0xe
lea ecx, [ebx + 0xcbc]
call fcn.00404a61
push eax
call fcn.00430bab
push 0x44d59c
mov dword [ebx], esi
mov dword [ebx + 0x72dc], 1
call edi
jmp 0x40667c
call fcn.00401881
push 0x44d59c
mov dword [ebx + 0xa4], 0xf
call edi
mov byte [ebp - 0x6a0], 0
xor eax, eax
mov ecx, 0x8b
lea edi, [ebp - 0x69f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esi
stosb byte es:[edi], al
call fcn.00401881
movzx eax, word [ebx + 0xb0]
add eax, 0xf
push ecx
lea eax, [eax + eax*2]
push ecx
fld dword [ebx + eax*4]
lea eax, [ebp - 0x6a0]
fstp qword [esp]
push str._.5f.zip
push eax
call fcn.00417512
add esp, 0x10
push 0x44d59c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x6a0]
push eax
lea ecx, [ebp - 0x390c]
call fcn.004086c0
lea ecx, [ebp - 0x390c]
mov byte [ebp - 4], 1
call fcn.00408250
push 0x200
xor edi, edi
lea eax, [ebp - 0xd00]
push edi
push eax
mov dword [ebp - 0x3818], 1
call fcn.004175c0
add esp, 0xc
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x394c]
push eax
lea ecx, [ebp - 0x390c]
mov dword [ebp - 0x3914], edi
mov dword [ebp - 0x3910], edi
call fcn.00408450
mov eax, dword [ebp - 0x392c]
mov dword [ebp - 0x381c], eax
inc eax
push eax
mov dword [ebp - 0x3830], eax
call fcn.00425cd1
push dword [ebp - 0x3830]
mov dword [ebp - 0x3814], eax
push edi
push eax
call fcn.004175c0
mov eax, dword [ebp - 0x381c]
mov ecx, dword [ebp - 0x3814]
add esp, 0x10
push edi
push edi
push edi
push edi
push eax
push ecx
mov byte [ecx + eax], 0
push edi
lea ecx, [ebp - 0x390c]
call fcn.00408450
mov byte [ebp - 0x470], 0
xor eax, eax
mov ecx, 0x8b
lea edi, [ebp - 0x46f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esi
stosb byte es:[edi], al
call fcn.00401881
push dword [ebp - 0x3814]
lea eax, [ebx + 0xcd8]
push eax
lea eax, [ebp - 0x470]
push str._s__s
push eax
call fcn.00417512
add esp, 0x10
push 0x44d59c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [ebp - 0x470]
push eax
call fcn.00404c24
test eax, eax
pop ecx
je 0x406342
lea eax, [ebp - 0x470]
push eax
call fcn.004072f4
lea eax, [ebp - 0x470]
mov ecx, esp
mov dword [ebp - 0x381c], esp
push eax
call fcn.00405fc7
call fcn.00407501
pop ecx
mov byte [ebp - 0x240], 0
xor eax, eax
mov ecx, 0x8b
lea edi, [ebp - 0x23f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esi
stosb byte es:[edi], al
call fcn.00401881
push 0x43c580
push dword [ebp - 0x3814]
call fcn.00417c30
pop ecx
test eax, eax
pop ecx
lea eax, [ebx + 0xcd8]
jne 0x406395
push eax
lea eax, [ebp - 0x240]
push str._s_AutoPatch._xe
push eax
call fcn.00417512
add esp, 0xc
jmp 0x4063b0
push dword [ebp - 0x3814]
push eax
lea eax, [ebp - 0x240]
push str._s_s
push eax
call fcn.00417512
add esp, 0x10
push 0x44d59c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x240]
push eax
call fcn.004072f4
lea eax, [ebp - 0x240]
push 6
push eax
call fcn.00417be4
add esp, 0xc
cmp eax, 0xffffffff
je 0x406418
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x406418
lea ecx, [ebp - 0x390c]
call fcn.00408290
test al, al
jne 0x40651a
push str._End_Folder__
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
and dword [ebp - 0x3818], 0
jmp 0x40651a
xor edi, edi
push edi
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x3844]
call fcn.00405f74
lea eax, [ebp - 0x3844]
push eax
push 0x1001
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x382c]
mov byte [ebp - 4], 2
call fcn.0042b68d
test eax, eax
je 0x40652a
push dword [ebp - 0x3814]
call fcn.00425ccc
pop ecx
lea ecx, [ebp - 0x390c]
call fcn.00408300
mov byte [ebp - 0x3810], 0
xor eax, eax
mov ecx, 0x9c3
lea edi, [ebp - 0x380f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0x2710
push edi
lea eax, [ebp - 0x3810]
push 0
push eax
call fcn.004175c0
add esp, 0xc
push edi
lea eax, [ebp - 0x3810]
push eax
lea ecx, [ebp - 0x390c]
call fcn.00407700
test eax, eax
mov dword [ebp - 0x381c], eax
jle 0x4064ca
push eax
lea eax, [ebp - 0x3810]
push eax
lea ecx, [ebp - 0x382c]
call fcn.0042b133
cmp dword [ebp - 0x381c], edi
je 0x406483
lea ecx, [ebp - 0x382c]
call fcn.0042b383
lea ecx, [ebp - 0x390c]
call fcn.00408290
test al, al
jne 0x4064fe
push str._End_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
and dword [ebp - 0x3818], 0
mov ecx, dword [ebp - 0x3834]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call fcn.0040114d
xor edi, edi
cmp dword [ebp - 0x3818], edi
jne 0x40623d
jmp 0x406586
push edi
push edi
lea eax, [ebp - 0x240]
push eax
call fcn.00430bab
push edi
push 0x400
lea eax, [ebp - 0x1100]
push eax
lea ecx, [ebp - 0x3844]
call fcn.0042baa0
push edi
push edi
lea eax, [ebp - 0x1100]
push eax
call fcn.00430bab
push dword [ebp - 0x3814]
call fcn.00425ccc
pop ecx
mov ecx, dword [ebp - 0x3834]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call fcn.0040114d
lea ecx, [ebp - 0x390c]
call fcn.00408520
lea eax, [ebp - 0x6a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x43b960
push str.ReExe.flg
call fcn.00416f40
mov esi, eax
cmp esi, edi
pop ecx
pop ecx
je 0x40666d
push dword [esi + 0x10]
call fcn.00417755
cmp eax, edi
pop ecx
jle 0x406666
lea eax, [ebp - 0x3818]
push eax
push 0x43c4fc
push esi
call fcn.00417125
push esi
call fcn.00416e35
movzx eax, word [ebx + 0xb0]
add eax, 0xf
lea eax, [eax + eax*2]
add esp, 0x10
fld dword [ebx + eax*4]
fld dword [ebp - 0x3818]
fucompp
fnstsw ax
test ah, 0x44
jp 0x40666d
mov esi, 0x43c4f8
push esi
push str.ReExe.flg
call fcn.00416f40
cmp eax, edi
pop ecx
pop ecx
je 0x40666d
push eax
call fcn.00416e35
push esi
push str.MixMaster.cfg
call fcn.00416f40
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x40666d
fld dword [ebp - 0x3818]
push ecx
push ecx
fstp qword [esp]
push str.ver_f
push esi
call fcn.00416e86
push esi
call fcn.00416e35
add esp, 0x14
push edi
push edi
push str.ShareData__Message.Pop_Message_20_
call fcn.00430bab
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push esi
call fcn.00416e35
pop ecx
lea ecx, [ebp - 0x390c]
mov byte [ebp - 4], 0
call fcn.004084a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x382c]
call fcn.0042b424
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004160e8
leave
ret