Function at 0x40a0bc
Capabilities:
Create process on windows
Delete file
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x10
push 0
push 0
dec ecx
jne 0x40a0c4
push ebx
push esi
push edi
mov eax, 0x40933c
call fcn.004044b8
xor eax, eax
push ebp
push 0x40a9f1
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x40e828], eax
xor eax, eax
mov dword [0x40e858], eax
call fcn.0040928c
or al, byte [0x40aa00]
call fcn.0040929c
xor eax, eax
mov dword [0x40e850], eax
xor eax, eax
mov dword [0x40e854], eax
call sub.comctl32.dll_InitCommonControls_1
mov eax, 0x40e848
call fcn.00403ae0
call fcn.00405164
mov esi, eax
push 0xa
mov ecx, 0x40aa04
mov edx, dword [0x40e7e0]
mov eax, esi
call fcn.00406350
mov eax, esi
call fcn.00406218
test eax, eax
jne 0x40a15d
mov eax, 2
call fcn.00408f88
mov eax, esi
call fcn.00405d68
jmp 0x40a9ae
call fcn.00405164
mov edi, eax
mov edx, edi
mov eax, esi
call fcn.00408c54
test eax, eax
je 0x40a18e
mov eax, 3
call fcn.00408f88
mov eax, edi
call fcn.00405d68
mov eax, esi
call fcn.00405d68
jmp 0x40a9ae
call fcn.00405530
mov ebx, eax
xor ecx, ecx
mov edx, edi
mov eax, ebx
call fcn.00407b98
mov eax, esi
call fcn.00405d68
mov eax, edi
call fcn.00405d68
lea ecx, [ebp - 0x14]
xor edx, edx
mov eax, ebx
call fcn.00407aa4
cmp dword [ebp - 0x14], 0
jne 0x40a1d6
mov eax, 4
call fcn.00408f88
mov eax, ebx
call fcn.00405d68
jmp 0x40a9ae
lea ecx, [ebp - 0x18]
mov edx, 1
mov eax, ebx
call fcn.00407aa4
mov edx, dword [ebp - 0x18]
mov eax, 0x40e82c
call fcn.00403b34
lea ecx, [ebp - 0x1c]
mov edx, 0xb
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x1c]
mov edx, 0x40aa10
call fcn.00403e7c
je 0x40a285
lea ecx, [ebp - 0x20]
mov edx, 0xb
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x20]
call fcn.00403ee4
push eax
call sub.user32.dll_RegisterWindowMessageA
mov esi, eax
lea ecx, [ebp - 0x24]
mov edx, 0xb
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x24]
call fcn.00403ee4
push eax
push 0xffffffffffffffff
push 0
call fcn.0040452c
mov dword [0x40e858], eax
cmp dword [0x40e858], 0
je 0x40a26a
call sub.kernel32.dll_GetLastError
cmp eax, 0xb7
jne 0x40a285
push 0
push 0
push esi
push 0xffff
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.00405d68
jmp 0x40a9ae
lea ecx, [ebp - 0x28]
mov edx, 0xa
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x28]
mov edx, 0x40aa10
call fcn.00403e7c
je 0x40a2e7
lea ecx, [ebp - 0x2c]
mov edx, 0xa
mov eax, ebx
call fcn.00407aa4
mov edx, dword [ebp - 0x2c]
mov eax, 0x40b96c
call fcn.00403b34
push 0x409140
mov edx, 0x40aa14
xor ecx, ecx
mov eax, dword [0x40e7e0]
call fcn.004047c4
mov dword [0x40e828], eax
push 1
mov eax, dword [0x40e828]
push eax
call sub.user32.dll_ShowWindow
lea ecx, [ebp - 0x30]
mov edx, 2
mov eax, ebx
call fcn.00407aa4
mov edx, dword [ebp - 0x30]
mov eax, 0x40e834
call fcn.00403b34
lea ecx, [ebp - 0x34]
mov edx, 3
mov eax, ebx
call fcn.00407aa4
mov edx, dword [ebp - 0x34]
mov eax, 0x40e830
call fcn.00403b34
mov byte [0x40e845], 0
lea ecx, [ebp - 0x38]
mov edx, 5
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x38]
mov edx, 0x40aa20
call fcn.00403e7c
sete byte [0x40e846]
lea eax, [ebp - 0x3c]
mov ecx, dword [0x40e834]
mov edx, 0x40aa2c
call fcn.00403d6c
mov edx, dword [ebp - 0x3c]
mov eax, 0x80000002
call fcn.00404f60
mov esi, eax
mov byte [0x40e844], 0
test esi, esi
je 0x40a3f5
lea ecx, [ebp - 0x40]
mov edx, 0x40aa48
mov eax, esi
call fcn.00405020
mov edx, dword [ebp - 0x40]
mov eax, 0x40e848
call fcn.00403b34
mov eax, dword [0x40e848]
call fcn.004061d8
test al, al
je 0x40a3a7
mov byte [0x40e844], 1
mov edx, 0x40aa58
mov eax, esi
call fcn.00404f90
mov dword [0x40e850], eax
mov eax, esi
call fcn.00405084
cmp dword [0x40e850], 0x36b0
jge 0x40a3dc
mov eax, 0x40e848
call fcn.00403ae0
mov byte [0x40e844], 0
mov eax, dword [0x40e830]
call fcn.00406164
cmp eax, dword [0x40e850]
jne 0x40a3f5
mov byte [0x40e844], 1
cmp dword [0x40e828], 0
je 0x40a408
mov eax, 0xa
call fcn.004091c8
cmp byte [0x40e844], 0
jne 0x40a4fd
cmp dword [0x40e850], 0
jne 0x40a47d
lea ecx, [ebp - 0x44]
mov edx, 9
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x44]
push eax
lea edx, [ebp - 0x50]
xor eax, eax
call fcn.00404d34
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x4c]
call fcn.00404ee8
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.00404ed4
mov edx, dword [ebp - 0x48]
mov eax, 0x40e83c
pop ecx
call fcn.00403d6c
mov eax, dword [0x40e83c]
call fcn.004061d8
test al, al
je 0x40a47d
mov eax, 0x40e848
mov edx, dword [0x40e83c]
call fcn.00403b34
mov eax, dword [0x40e848]
call fcn.004061d8
test al, al
je 0x40a4fd
mov edx, 0x8000
mov eax, dword [0x40e848]
call fcn.00409208
mov dword [0x40e854], eax
cmp dword [0x40e854], 0
je 0x40a4fd
push 0x40aa60
mov eax, dword [0x40e854]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov dword [0x40b974], esi
test esi, esi
je 0x40a4e2
push 0
mov eax, dword [0x40e830]
call fcn.00406164
push eax
call dword [0x40b974]
test al, al
je 0x40a4e2
mov byte [0x40e844], 1
cmp byte [0x40e844], 0
jne 0x40a4fd
mov eax, dword [0x40e854]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [0x40e854], eax
cmp byte [0x40e844], 0
jne 0x40a5c5
cmp byte [0x40e846], 0
je 0x40a5c5
lea ecx, [ebp - 0x54]
mov edx, 9
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x5c]
call fcn.00404f30
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.00404ed4
mov edx, dword [ebp - 0x58]
mov eax, 0x40e83c
pop ecx
call fcn.00403d6c
mov eax, dword [0x40e83c]
call fcn.004061d8
test al, al
je 0x40a569
mov eax, dword [0x40e83c]
call fcn.00403ee4
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [0x40e83c]
call fcn.004061d8
test al, al
jne 0x40a599
mov edx, 0x40aa78
mov eax, dword [0x40e83c]
call fcn.00408ba8
test al, al
jne 0x40a599
mov eax, 5
call fcn.00408f88
jmp 0x40a9ae
mov eax, dword [0x40e83c]
call fcn.004061d8
test al, al
je 0x40a5c5
mov eax, 0x40e848
mov edx, dword [0x40e83c]
call fcn.00403b34
mov byte [0x40e844], 1
mov byte [0x40e845], 1
cmp dword [0x40e828], 0
je 0x40a5d8
mov eax, 0x19
call fcn.004091c8
cmp byte [0x40e844], 0
jne 0x40a738
mov eax, dword [0x40e82c]
call fcn.004064b0
mov edx, dword [0x40b978]
mov dword [edx], eax
mov edx, dword [0x40b978]
mov edx, dword [edx]
mov eax, 0x40e84c
call fcn.00408c88
mov eax, dword [0x40b97c]
mov edx, dword [0x40e84c]
mov dword [eax], edx
mov eax, dword [0x40e84c]
mov eax, dword [eax + 0x18]
mov edx, dword [0x40e82c]
call fcn.004070fc
lea ecx, [ebp - 0x60]
mov edx, 6
mov eax, ebx
call fcn.00407aa4
mov edx, dword [ebp - 0x60]
mov eax, dword [0x40e84c]
mov eax, dword [eax + 0x28]
call fcn.004070fc
lea ecx, [ebp - 0x64]
mov edx, 7
mov eax, ebx
call fcn.00407aa4
mov edx, dword [ebp - 0x64]
mov eax, dword [0x40e84c]
mov eax, dword [eax + 0x2c]
call fcn.004070fc
call fcn.00405164
mov esi, eax
call fcn.00405164
mov edi, eax
push 0xa
mov ecx, 0x40aa7c
mov edx, dword [0x40e7e0]
mov eax, esi
call fcn.00406350
mov edx, edi
mov eax, esi
call fcn.00408c54
test eax, eax
je 0x40a6a5
mov eax, 6
call fcn.00408f88
jmp 0x40a9ae
push 0
push 0
mov eax, dword [0x40e84c]
mov eax, dword [eax + 0x24]
or ecx, 0xffffffff
mov edx, edi
call fcn.00405b28
mov eax, esi
call fcn.00405d68
mov eax, edi
call fcn.00405d68
cmp dword [0x40e828], 0
je 0x40a6dd
mov eax, dword [0x40e828]
push eax
call sub.user32.dll_DestroyWindow_1
mov eax, dword [0x40e84c]
mov eax, dword [eax + 0x18]
call fcn.00405630
mov esi, eax
mov eax, dword [0x40e84c]
mov eax, dword [eax + 0x18]
call fcn.00405d68
dec esi
jne 0x40a72c
push 1
push 0x40aa84
push 0x40aa84
lea ecx, [ebp - 0x68]
mov edx, 8
mov eax, ebx
call fcn.00407aa4
mov eax, dword [ebp - 0x68]
call fcn.00403ee4
push eax
push 0x40aa88
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, ebx
call fcn.00405d68
jmp 0x40a9ae
cmp byte [0x40e844], 0
je 0x40a9a7
push 0x40aa98
lea edx, [ebp - 0x6c]
xor eax, eax
call fcn.00404d34
push dword [ebp - 0x6c]
push 0x40aaa8
mov eax, 0x40e840
mov edx, 3
call fcn.00403de8
call fcn.00404e4c
mov edi, eax
test edi, edi
jle 0x40a811
mov esi, 1
lea edx, [ebp - 0x70]
mov eax, esi
call fcn.00404d34
cmp dword [ebp - 0x70], 0
je 0x40a809
lea edx, [ebp - 0x74]
mov eax, esi
call fcn.00404d34
mov edx, dword [ebp - 0x74]
mov eax, 0x40aab4
call fcn.00403f38
test eax, eax
jle 0x40a7d2
push 0x40aaa8
lea edx, [ebp - 0x78]
mov eax, esi
call fcn.00404d34
push dword [ebp - 0x78]
push 0x40aaa8
mov eax, 0x40e83c
mov edx, 3
call fcn.00403de8
jmp 0x40a7e9
lea edx, [ebp - 0x7c]
mov eax, esi
call fcn.00404d34
mov edx, dword [ebp - 0x7c]
mov eax, 0x40e83c
call fcn.00403b34
push dword [0x40e840]
push 0x40aab4
push dword [0x40e83c]
mov eax, 0x40e840
mov edx, 3
call fcn.00403de8
inc esi
dec edi
jne 0x40a77f
call fcn.004090b0
cmp dword [0x40e854], 0
jne 0x40a833
mov edx, 0x8000
mov eax, dword [0x40e848]
call fcn.00409208
mov dword [0x40e854], eax
cmp dword [0x40e854], 0
jne 0x40a868
mov eax, 7
call fcn.00408f88
cmp byte [0x40e845], 0
je 0x40a9ae
mov eax, dword [0x40e848]
call fcn.00403ee4
push eax
call sub.kernel32.dll_DeleteFileA
jmp 0x40a9ae
cmp dword [0x40e828], 0
je 0x40a87b
mov eax, 0x28
call fcn.004091c8
call fcn.004090b0
push 0x40aab8
mov eax, dword [0x40e854]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov dword [0x40b970], esi
test esi, esi
jne 0x40a8dc
mov eax, 8
call fcn.00408f88
cmp dword [0x40e854], 0
je 0x40a8ba
mov eax, dword [0x40e854]
push eax
call sub.kernel32.dll_FreeLibrary_1
cmp byte [0x40e845], 0
je 0x40a9ae
mov eax, dword [0x40e848]
call fcn.00403ee4
push eax
call sub.kernel32.dll_DeleteFileA
jmp 0x40a9ae
push 0x40aaa8
lea edx, [ebp - 0x80]
xor eax, eax
call fcn.00404d34
push dword [ebp - 0x80]
push 0x40aaa8
push dword [0x40e840]
mov eax, 0x40e840
mov edx, 4
call fcn.00403de8
mov eax, dword [0x40e7e0]
push eax
mov eax, dword [0x40e828]
push eax
mov eax, dword [0x40e840]
call fcn.00403ee4
push eax
call dword [0x40b970]
xor eax, eax
mov dword [0x40b970], eax
cmp dword [0x40e854], 0
je 0x40a940
mov eax, dword [0x40e854]
push eax
call sub.kernel32.dll_FreeLibrary_1
push 0
mov eax, dword [0x40e828]
push eax
call sub.user32.dll_ShowWindow
call fcn.004090b0
cmp dword [0x40e828], 0
je 0x40a966
mov eax, dword [0x40e828]
push eax
call sub.user32.dll_DestroyWindow_1
cmp byte [0x40e845], 0
je 0x40a9a7
mov eax, dword [0x40e848]
call fcn.00403ee4
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [0x40e848]
call fcn.004061d8
test al, al
je 0x40a9a7
push 0xbb8
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x40e848]
call fcn.00403ee4
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, ebx
call fcn.00405d68
cmp dword [0x40e828], 0
je 0x40a9c2
mov eax, dword [0x40e828]
push eax
call sub.user32.dll_DestroyWindow_1
cmp dword [0x40e858], 0
je 0x40a9d6
mov eax, dword [0x40e858]
push eax
call sub.kernel32.dll_CloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40a9f8
lea eax, [ebp - 0x80]
mov edx, 0x1c
call fcn.00403b04
ret