Function at 0x40fe80
Capabilities:
Create process on windows
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x40fe89
mov eax, dword [ebp - 4]
add esp, 0xfffffbe0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x23f0], edx
mov dword [ebp - 0x23f4], edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], edx
mov esi, eax
lea edi, [ebp - 0xac]
mov ecx, 0x22
rep movsd dword es:[edi], dword [esi]
xor eax, eax
push ebp
push 0x41040a
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x23f4]
xor eax, eax
call fcn.0040272c
mov eax, dword [ebp - 0x23f4]
lea edx, [ebp - 0x23f0]
call fcn.00405c8c
mov eax, dword [ebp - 0x23f0]
lea edx, [ebp - 0x10]
call fcn.0040f168
lea eax, [ebp - 0xac]
call fcn.0040fe3c
test al, al
je 0x40ffb4
lea eax, [ebp - 0x14]
call fcn.0040f1ec
mov eax, dword [ebp - 0x14]
call fcn.00405b40
test al, al
jne 0x40ff5c
lea eax, [ebp - 0x23f0]
mov ecx, dword [ebp - 0x14]
mov edx, 0x410420
call fcn.0040362c
mov ecx, dword [ebp - 0x23f0]
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
mov edx, 0x40
mov eax, dword [ebp - 0x14]
call fcn.00405a08
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x40ffa6
push 0x41044c
push dword [ebp - 0x14]
push 0x410460
lea eax, [ebp - 0x23f0]
mov edx, 3
call fcn.004036a0
mov ecx, dword [ebp - 0x23f0]
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
mov ebx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x98]
jmp 0x40ffcf
mov ecx, 0x41048c
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
jmp 0x4103d7
lea eax, [ebp - 0x21b9]
push eax
push 0x105
call fcn.00404c84
test eax, eax
jne 0x40fffa
mov ecx, 0x4104c4
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
lea eax, [ebp - 0x22be]
push eax
push 0
push 0x410504
lea eax, [ebp - 0x21b9]
push eax
call fcn.00404c7c
lea eax, [ebp - 0x22be]
push eax
call fcn.00404c04
lea edx, [ebp - 0x23f0]
lea eax, [ebp - 0x22be]
call fcn.00405f38
mov eax, dword [ebp - 0x23f0]
lea ecx, [ebp - 0xc]
xor edx, edx
call fcn.00405bf8
lea edx, [ebp - 0x23f0]
mov eax, dword [ebp - 0xc]
call fcn.0040596c
cmp dword [ebp - 0x23f0], 0
jne 0x41006e
mov ecx, 0x4104c4
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
mov eax, dword [ebp - 0xc]
call fcn.00405de4
test al, al
jne 0x410088
lea edx, [ebp - 0xc]
lea eax, [ebp - 0x21b9]
call fcn.00405f38
mov eax, dword [ebp - 0xc]
call fcn.0040fa14
cmp eax, 0xffffffff
jle 0x4100dc
cmp eax, 0x7a1200
jge 0x4100dc
mov dword [ebp - 0x2404], 0x7a1200
mov byte [ebp - 0x2400], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x23fc], eax
mov byte [ebp - 0x23f8], 0xb
lea eax, [ebp - 0x2404]
push eax
push 1
mov ecx, 0x410510
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407184
call fcn.00402ea0
xor eax, eax
push ebp
push 0x4103c4
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.00405ac4
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x20b4]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.0040f32c
cmp dword [ebp - 0x20], 0
jne 0x410126
mov ecx, 0x4105b8
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
lea eax, [ebp - 0x20b4]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.0040fa98
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x20a0]
call fcn.004035a8
lea edx, [ebp - 0x23f0]
mov eax, dword [ebp - 0x18]
call fcn.00405cc0
mov eax, dword [ebp - 0x23f0]
push eax
lea edx, [ebp - 0x23f4]
mov eax, dword [ebp - 0xc]
call fcn.0040f0e4
mov edx, dword [ebp - 0x23f4]
lea eax, [ebp - 8]
pop ecx
call fcn.0040362c
mov eax, dword [ebp - 8]
call fcn.00405b40
test al, al
jne 0x4101cd
lea eax, [ebp - 0x23f0]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x240c], eax
mov byte [ebp - 0x2408], 0xb
lea edx, [ebp - 0x240c]
xor ecx, ecx
mov eax, 0x41062c
call fcn.00406388
mov ecx, dword [ebp - 0x23f0]
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407150
call fcn.00402ea0
call fcn.0040f294
test al, al
je 0x41023e
push dword [ebp - 8]
push 0x410688
lea eax, [ebp - 0x23f4]
call fcn.0040f1ec
mov eax, dword [ebp - 0x23f4]
lea edx, [ebp - 0x23f0]
call fcn.00405cc0
push dword [ebp - 0x23f0]
push 0x41069c
lea edx, [ebp - 0x23f4]
mov eax, dword [ebp - 0x10]
call fcn.0040f168
push dword [ebp - 0x23f4]
push 0x4106ac
lea eax, [ebp - 4]
mov edx, 6
call fcn.004036a0
lea eax, [ebp - 0x23eb]
mov edx, dword [ebp - 4]
call fcn.00405eb0
jmp 0x4102ee
lea eax, [ebp - 0xac]
call fcn.0040fe3c
test al, al
je 0x4102b2
push dword [ebp - 8]
push 0x4106b8
lea eax, [ebp - 0x23f4]
call fcn.0040f1ec
mov eax, dword [ebp - 0x23f4]
lea edx, [ebp - 0x23f0]
call fcn.00405cc0
push dword [ebp - 0x23f0]
push 0x4106c8
lea edx, [ebp - 0x23f4]
mov eax, dword [ebp - 0x10]
call fcn.0040f168
push dword [ebp - 0x23f4]
push 0x4106ac
lea eax, [ebp - 4]
mov edx, 6
call fcn.004036a0
lea eax, [ebp - 0x23eb]
mov edx, dword [ebp - 4]
call fcn.00405eb0
jmp 0x4102ee
push dword [ebp - 8]
push 0x4106d8
lea edx, [ebp - 0x23f0]
mov eax, dword [ebp - 0x10]
call fcn.0040f168
push dword [ebp - 0x23f0]
push 0x4106ac
lea eax, [ebp - 4]
mov edx, 4
call fcn.004036a0
lea eax, [ebp - 0x23eb]
mov edx, dword [ebp - 4]
call fcn.00405eb0
push 5
lea eax, [ebp - 0x23eb]
push eax
call fcn.00404ccc
mov ebx, eax
cmp ebx, 0x20
jge 0x4103ae
lea eax, [ebp - 0x24]
mov edx, 0x4106e8
call fcn.00403420
mov eax, ebx
sub eax, 2
je 0x410332
dec eax
je 0x410341
sub eax, 8
jne 0x41034e
lea eax, [ebp - 0x24]
mov edx, 0x4106f8
call fcn.00403420
jmp 0x41034e
lea eax, [ebp - 0x24]
mov edx, 0x41071c
call fcn.00403420
jmp 0x41034e
lea eax, [ebp - 0x24]
mov edx, 0x410748
call fcn.00403420
lea edx, [ebp - 0x23f0]
lea eax, [ebp - 0x23eb]
call fcn.00405f38
mov eax, dword [ebp - 0x23f0]
mov dword [ebp - 0x2424], eax
mov byte [ebp - 0x2420], 0xb
mov dword [ebp - 0x241c], ebx
mov byte [ebp - 0x2418], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2414], eax
mov byte [ebp - 0x2410], 0xb
lea eax, [ebp - 0x2424]
push eax
push 2
mov ecx, 0x410774
mov dl, 1
mov eax, dword [0x404e2c]
call fcn.00407184
call fcn.00402ea0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4103cb
mov eax, dword [ebp - 0x1c]
call fcn.00405ad0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x410411
lea eax, [ebp - 0x23f4]
mov edx, 2
call fcn.004033ac
lea eax, [ebp - 0x24]
call fcn.00403388
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.004033ac
ret