Function at 0x40caf0
Capabilities:
Accept command line arguments
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x416426
mov eax, dword fs:[0]
push eax
sub esp, 0x64c
mov eax, dword [0x41e138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x216]
push ecx
mov word [ebp - 0x218], ax
call fcn.0040ddd0
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x41e]
push eax
mov word [ebp - 0x420], dx
call fcn.0040ddd0
add esp, 0x18
lea ecx, [ebp - 0x634]
call fcn.0040b600
lea ecx, [ebp - 0x658]
mov dword [ebp - 4], 0
call fcn.0040d240
push 0x41f664
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 1
call fcn.0040cfc0
push 0
push 0x4ff
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
push str.ASM_SFX_Extractor_Started
mov ecx, 0x41f690
call fcn.0040d180
push 0x104
lea ecx, [ebp - 0x628]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x628]
push edx
lea ecx, [ebp - 0x634]
call fcn.0040be80
test eax, eax
jne 0x40cbd4
push 0xffffffffffffffff
call fcn.0040da65
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x634]
call fcn.0040b680
mov edi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
call esi
add eax, eax
push eax
lea ecx, [ebp - 0x420]
push 0x4177c0
push ecx
mov edx, 0x104
call fcn.0040cad0
add esp, 0xc
call edi
push eax
lea edx, [ebp - 0x420]
push 0x104
push edx
call fcn.0040dd45
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
call esi
add eax, eax
push eax
lea ecx, [ebp - 0x420]
push ecx
push str.ASMCMD.DAT
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x634]
call fcn.0040b9d0
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x634]
call fcn.0040ba90
push str.ASMEXP.DAT
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x634]
call fcn.0040bf30
push str.Starting_ASMSetup.exe
mov ecx, 0x41f690
call fcn.0040d180
lea ecx, [ebp - 0x628]
push ecx
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x638]
push eax
lea ecx, [ebp - 0x634]
call fcn.0040c080
push str.Starting_Extract_File_Cleanup
mov ecx, 0x41f690
call fcn.0040d180
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x420]
push 0x104
push edx
call fcn.0040dce2
push str.ASMCMD.dat
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.0040dd45
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esp, 0x18
lea ecx, [ebp - 0x420]
push ecx
call edi
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.0040dce2
push str.ASMEXP.dat
lea ecx, [ebp - 0x420]
push 0x104
push ecx
call fcn.0040dd45
add esp, 0x18
lea edx, [ebp - 0x420]
push edx
call edi
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x634]
call fcn.0040bc80
lea edx, [ebp - 0x218]
push edx
call esi
lea edx, [ebp - 0x218]
xor ecx, ecx
push edx
mov word [ebp + eax*2 - 0x21a], cx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push 0x4176c0
mov ecx, 0x41f690
call fcn.0040d180
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 0
call fcn.0040d270
lea ecx, [ebp - 0x634]
mov dword [ebp - 4], 0xffffffff
call fcn.0040b620
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040ddba
mov esp, ebp
pop ebp
ret