Function at 0x401900
Capabilities:
Create process on windows
Get common file path
Terminate process

Disassembly:
sub esp, 0xa60
push ebx
push ebp
push esi
push edi
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x771]
mov byte [esp + 0x770], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x3ad]
mov byte [esp + 0x3ac], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x4ad]
mov byte [esp + 0x4ac], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x2d]
mov byte [esp + 0x2c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x2ad]
mov byte [esp + 0x2ac], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x5ad]
mov byte [esp + 0x5ac], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x12d]
mov byte [esp + 0x12c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x871]
mov byte [esp + 0x870], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x24d]
mov byte [esp + 0x24c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x26d]
mov byte [esp + 0x26c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor esi, esi
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x22d]
mov byte [esp + 0x22c], 0
mov dword [esp + 0x14], 0x103
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x8000
push 0x42
stosb byte es:[edi], al
mov dword [esp + 0x2c], esi
mov dword [esp + 0x18], esi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor ecx, ecx
lea edx, [esp + 0x18]
mov cl, ah
and eax, 0xff
and ecx, 0xff
push ecx
push eax
push str._d._d
push edx
call fcn.004040e7
add esp, 0x10
mov edi, 0x40b200
lea eax, [esp + 0x18]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x401ab5
test cl, cl
je 0x401ab1
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x401ab5
add eax, 2
add edi, 2
test cl, cl
jne 0x401a8d
xor eax, eax
jmp 0x401aba
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jge 0x401ac7
mov eax, dword [0x40b1fc]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0xa74]
lea ecx, [esp + 0x3ac]
push 0x100
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov cl, byte [esp + 0x3ac]
mov edi, dword [esp + 0x10]
test cl, cl
lea eax, [esp + 0x3ac]
je 0x401b07
cmp cl, 0x5c
jne 0x401aff
mov edi, eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x401af8
inc edi
push str.AiClient.exe
push edi
call fcn.00409da0
add esp, 8
test eax, eax
je 0x401b2c
push str.AiService.exe
push edi
call fcn.00409da0
add esp, 8
test eax, eax
jne 0x401b32
mov dword [0x40b044], esi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x3ac]
lea ecx, [esp + 0x4ac]
push eax
push ecx
call ebx
lea edx, [esp + 0x4ac]
push 0x5c
push edx
call fcn.004040c0
mov byte [eax], 0
mov eax, dword [esp + 0x4b4]
and eax, 0xff
push eax
call fcn.00403fea
sub eax, 0x40
push eax
call fcn.00403f93
lea ecx, [esp + 0x4bc]
push ecx
call fcn.00403f0d
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0x14
lea edx, [esp + 0x4ac]
push 0x40b1d8
push edx
call ebp
lea eax, [esp + 0x3ac]
push eax
call fcn.004010c0
add esp, 4
lea ecx, [esp + 0x3ac]
lea edx, [esp + 0x12c]
push ecx
push edx
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [esp + 0x12c]
push eax
call edi
mov dl, byte [esp + eax + 0x12c]
mov cl, 0x2e
cmp dl, cl
je 0x401beb
cmp eax, esi
je 0x401beb
mov dl, byte [esp + eax + 0x12b]
dec eax
cmp dl, cl
jne 0x401bdb
lea ecx, [esp + 0x2c]
mov byte [esp + eax + 0x12d], 0
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x2c]
push edx
push esi
push str.0000
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea ecx, [esp + 0x2c]
push ecx
call fcn.00403f02
add esp, 4
mov esi, eax
call fcn.004011f0
lea edx, [esp + 0x2c]
lea eax, [esp + 0x2ac]
push edx
push eax
mov word [0x40cba0], 0xffff
call ebx
lea ecx, [esp + 0x2ac]
push ecx
call edi
dec eax
je 0x401c66
mov cl, byte [esp + eax + 0x2ac]
cmp cl, 0x5c
je 0x401c66
cmp cl, 0x3a
je 0x401c66
dec eax
jne 0x401c52
cmp byte [esp + eax + 0x2ac], 0x5c
jne 0x401c7a
mov byte [esp + eax + 0x2ad], 0
jmp 0x401c8a
mov byte [esp + eax + 0x2ad], 0x5c
mov byte [esp + eax + 0x2ae], 0
cmp esi, 0xffffffff
jne 0x401cd5
lea edi, [esp + 0x2ac]
or ecx, esi
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + ecx + 0x2b], al
lea ecx, [esp + 0x2c]
push ecx
call fcn.00403eac
add esp, 4
lea edi, [esp + 0x2ac]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov edx, ecx
mov esi, edi
mov edi, 0x40c7a0
push 0x40c7a0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.0000.bat
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x40c7a0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll__lcreat]
push eax
call dword [sym.imp.KERNEL32.dll__lclose]
lea eax, [esp + 0x3ac]
push eax
call fcn.004010c0
add esp, 4
lea ecx, [esp + 0x2ac]
lea edx, [esp + 0x2c]
push ecx
push edx
call ebx
lea eax, [esp + 0x2c]
push str.init.ini
push eax
call ebp
lea ecx, [esp + 0x4ac]
lea edx, [esp + 0x5ac]
push ecx
push edx
call ebx
lea eax, [esp + 0x5ac]
push str.init.ini
push eax
call ebp
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x5b0]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
lea edx, [esp + 0x5ac]
push str.del
push edx
call ebx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x5ac]
push eax
push ecx
call ebp
lea edx, [esp + 0x5ac]
push edx
call fcn.004029c0
lea eax, [esp + 0x30]
push eax
call fcn.004028d0
mov ecx, dword [esp + 0xa7c]
add esp, 8
mov dword [0x40c788], 0
push 0
push 0x402fe0
push 0
push str.PromptDlg
push ecx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
push 0xa
mov dword [0x40c8a4], eax
call fcn.00403360
push 0x40b1a0
push 0x40c8c0
call fcn.00403d90
add esp, 0xc
test eax, eax
je 0x401e4a
mov edi, 0x40c8c0
or ecx, 0xffffffff
xor eax, eax
mov edx, 0x40c8c0
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub edx, 3
mov dword [esp + 0x10], 1
mov byte [ecx + edx], al
mov al, byte [0x40c8c0]
test al, al
je 0x401f35
push 0x40b19c
push 0x40c8c0
call fcn.00403e10
mov edi, eax
add esp, 8
test edi, edi
je 0x401f35
mov esi, dword [esp + 0x24]
cmp esi, 3
jge 0x401f35
mov al, byte [edi]
cmp al, 0x2d
jne 0x401ec0
mov eax, esi
sub eax, 0
je 0x401eb1
dec eax
je 0x401ea2
dec eax
jne 0x401ebd
inc edi
lea eax, [esp + 0x22c]
push edi
push eax
call ebx
inc esi
jmp 0x401f1c
inc edi
lea ecx, [esp + 0x26c]
push edi
push ecx
call ebx
inc esi
jmp 0x401f1c
inc edi
lea edx, [esp + 0x24c]
push edi
push edx
call ebx
inc esi
jmp 0x401f1c
cmp al, 0x7c
jne 0x401ef9
cmp byte [edi + 2], 0x3a
je 0x401eee
push 0x40b1d8
push edi
call fcn.00403d90
add esp, 8
test eax, eax
jne 0x401eee
lea eax, [esp + 0x4ac]
lea ecx, [esp + 0x870]
push eax
push ecx
call ebx
inc edi
lea edx, [esp + 0x870]
push edi
jmp 0x401f19
cmp byte [edi + 1], 0x3a
je 0x401f11
lea eax, [esp + 0x4ac]
lea ecx, [esp + 0x770]
push eax
push ecx
call ebx
push edi
lea edx, [esp + 0x774]
push edx
call ebp
push 0x40b19c
push 0
call fcn.00403e10
mov edi, eax
add esp, 8
test edi, edi
jne 0x401e77
mov al, byte [esp + 0x770]
test al, al
jne 0x401f87
lea eax, [esp + 0x12c]
push 0x40b198
push eax
call ebp
lea ecx, [esp + 0x12c]
push ecx
call fcn.00401230
add esp, 4
mov dword [0x40c8a8], eax
test eax, eax
je 0x402061
push eax
call fcn.00401460
add esp, 4
lea ecx, [esp + 0x12c]
lea edx, [esp + 0x770]
push ecx
push edx
call ebx
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x2c]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
push str.temp.shr
push edx
call ebp
lea eax, [esp + 0x4ac]
lea ecx, [esp + 0x12c]
push eax
push ecx
call ebx
lea edx, [esp + 0x12c]
push str.temp.shr
push edx
call ebp
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x2c]
push edi
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x3b4]
push ecx
push edx
call fcn.00402920
add esp, 0x10
test eax, eax
je 0x402012
push 0x40c4a0
call fcn.004010c0
lea eax, [esp + 0x2b0]
push str.temp.shr
push eax
call fcn.00402a00
lea ecx, [esp + 0x38]
push ecx
call fcn.00403f02
add esp, 0x10
push 0x1e
call fcn.00403360
lea edx, [esp + 0x3b0]
push edx
call fcn.004010c0
add esp, 8
mov eax, 0x40b188
lea esi, [esp + 0x18]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [eax]
jne 0x402117
test cl, cl
je 0x40205a
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x402117
add esi, 2
add eax, 2
test cl, cl
jne 0x402032
xor eax, eax
jmp 0x40211c
call fcn.00401530
test eax, eax
jne 0x401f75
lea edx, [esp + 0x12c]
lea eax, [esp + 0x970]
push edx
push eax
call ebx
mov edi, dword [esp + 0xa74]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [esp + 0x6f0]
push 0x80
push ecx
push 0xc9
push edi
call esi
lea edx, [esp + 0x6f0]
lea eax, [esp + 0x970]
push edx
push eax
call ebp
lea ecx, [esp + 0x6f0]
push 0x80
push ecx
push 0xca
push edi
call esi
lea edx, [esp + 0x6f0]
lea eax, [esp + 0x970]
push edx
push eax
call ebp
lea ecx, [esp + 0x6f0]
push 0x80
push ecx
push 0xcb
push edi
call esi
lea edx, [esp + 0x6f0]
push 0x30
lea eax, [esp + 0x974]
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa60
ret
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x4022d6
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x2c]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
push str.spawn.exe
push edx
call ebp
lea eax, [esp + 0x4ac]
lea ecx, [esp + 0x12c]
push eax
push ecx
call ebx
lea edx, [esp + 0x12c]
push str.spawn.exe
push edx
call ebp
lea eax, [esp + 0x2c]
push edi
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x3b4]
push ecx
push edx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x40218d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa60
ret
lea eax, [esp + 0x5ac]
push str.del
push eax
call ebx
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x5ac]
push ecx
push edx
call ebp
lea eax, [esp + 0x5ac]
push eax
call fcn.004029c0
add esp, 4
lea ecx, [esp + 0x2ac]
lea edx, [esp + 0x2c]
push ecx
push edx
call ebx
lea eax, [esp + 0x2c]
push str.unst16.shr
push eax
call ebp
lea ecx, [esp + 0x4ac]
lea edx, [esp + 0x12c]
push ecx
push edx
call ebx
lea eax, [esp + 0x12c]
push str.unst16.shr
push eax
call ebp
lea ecx, [esp + 0x2c]
push edi
lea edx, [esp + 0x130]
push ecx
lea eax, [esp + 0x3b4]
push edx
push eax
call fcn.00402920
add esp, 0x10
test eax, eax
je 0x402238
lea ecx, [esp + 0x2ac]
push str.unst16.shr
push ecx
call fcn.00402a00
lea edx, [esp + 0x34]
push edx
call fcn.00403f02
add esp, 0xc
push 0x28
call fcn.00403360
add esp, 4
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x2c]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
push str.0000.shr
push edx
call ebp
lea eax, [esp + 0x4ac]
lea ecx, [esp + 0x12c]
push eax
push ecx
call ebx
lea edx, [esp + 0x12c]
push str.inst16.shr
push edx
call ebp
lea eax, [esp + 0x2c]
push edi
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x3b4]
push ecx
push edx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x4022ab
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa60
ret
lea eax, [esp + 0x2ac]
push str.0000.shr
push eax
call fcn.00402a00
push 0x3c
call fcn.00403360
lea ecx, [esp + 0x38]
push ecx
call fcn.00403f02
add esp, 0x10
jmp 0x4024d7
lea edx, [esp + 0x2ac]
lea eax, [esp + 0x2c]
push edx
push eax
call ebx
lea ecx, [esp + 0x2c]
push str.0000.shr
push ecx
call ebp
lea edx, [esp + 0x4ac]
lea eax, [esp + 0x12c]
push edx
push eax
call ebx
lea ecx, [esp + 0x12c]
push str.inst32.shr
push ecx
call ebp
lea edx, [esp + 0x2c]
push edi
lea eax, [esp + 0x130]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x40242a
lea edx, [esp + 0x4ac]
lea eax, [esp + 0x12c]
push edx
push eax
call ebx
lea ecx, [esp + 0x12c]
push str.inst16.shr
push ecx
call ebp
lea edx, [esp + 0x2c]
push edi
lea eax, [esp + 0x130]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x402386
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa60
ret
lea edx, [esp + 0x2ac]
push str.0000.shr
push edx
call fcn.00402a00
push 0x28
call fcn.00403360
lea eax, [esp + 0x38]
push eax
call fcn.00403f02
add esp, 0x10
lea ecx, [esp + 0x2ac]
lea edx, [esp + 0x2c]
push ecx
push edx
call ebx
lea eax, [esp + 0x2c]
push str.unst16.shr
push eax
call ebp
lea ecx, [esp + 0x4ac]
lea edx, [esp + 0x12c]
push ecx
push edx
call ebx
lea eax, [esp + 0x12c]
push str.unst16.shr
push eax
call ebp
lea ecx, [esp + 0x2c]
push edi
lea edx, [esp + 0x130]
push ecx
lea eax, [esp + 0x3b4]
push edx
push eax
call fcn.00402920
add esp, 0x10
test eax, eax
je 0x4024cd
lea ecx, [esp + 0x2ac]
push str.unst16.shr
push ecx
call fcn.00402a00
lea edx, [esp + 0x34]
push edx
jmp 0x4024c5
lea eax, [esp + 0x2ac]
push str.0000.shr
push eax
call fcn.00402a00
push 0x28
call fcn.00403360
lea ecx, [esp + 0x38]
push ecx
call fcn.00403f02
add esp, 0x10
lea edx, [esp + 0x2ac]
lea eax, [esp + 0x2c]
push edx
push eax
call ebx
lea ecx, [esp + 0x2c]
push str.unst32.shr
push ecx
call ebp
lea edx, [esp + 0x4ac]
lea eax, [esp + 0x12c]
push edx
push eax
call ebx
lea ecx, [esp + 0x12c]
push str.unst32.shr
push ecx
call ebp
lea edx, [esp + 0x2c]
push edi
lea eax, [esp + 0x130]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
test eax, eax
je 0x4024cd
lea edx, [esp + 0x2ac]
push str.unst32.shr
push edx
call fcn.00402a00
lea eax, [esp + 0x34]
push eax
call fcn.00403f02
add esp, 0xc
push 0x3c
call fcn.00403360
add esp, 4
lea ecx, [esp + 0x2ac]
lea edx, [esp + 0x2c]
push ecx
push edx
call ebx
lea eax, [esp + 0x2c]
push str.0000.dll
push eax
call ebp
lea ecx, [esp + 0x4ac]
lea edx, [esp + 0x12c]
push ecx
push edx
call ebx
lea eax, [esp + 0x12c]
push str.Install
push eax
call ebp
lea ecx, [esp + 0x28c]
push ecx
call fcn.00401670
add esp, 4
lea edx, [esp + 0x28c]
lea eax, [esp + 0x12c]
push edx
push eax
call ebp
lea ecx, [esp + 0x12c]
push str..dll
push ecx
call ebp
lea edx, [esp + 0x2c]
push edi
lea eax, [esp + 0x130]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x4025ec
lea edx, [esp + 0x4ac]
lea eax, [esp + 0x12c]
push edx
push eax
call ebx
lea ecx, [esp + 0x12c]
push str.Install.dll
push ecx
call ebp
lea edx, [esp + 0x2c]
push edi
lea eax, [esp + 0x130]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x4025ec
lea edx, [esp + 0x4ac]
lea eax, [esp + 0x12c]
push edx
push eax
call ebx
lea ecx, [esp + 0x12c]
push str.0000.dll
push ecx
call ebp
lea edx, [esp + 0x2c]
push edi
lea eax, [esp + 0x130]
push edx
lea ecx, [esp + 0x3b4]
push eax
push ecx
call fcn.00402920
add esp, 0x10
lea edx, [esp + 0x5ac]
push str.del
push edx
call ebx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x5ac]
push eax
push ecx
call ebp
lea edx, [esp + 0x5ac]
push edx
call fcn.004029c0
push 0x4c
call fcn.00403360
add esp, 8
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x2c]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
push str.dosshell.pif
push edx
call ebp
lea eax, [esp + 0x4ac]
lea ecx, [esp + 0x12c]
push eax
push ecx
call ebx
lea edx, [esp + 0x12c]
push str.dosshell.pif
push edx
call ebp
lea eax, [esp + 0x2c]
push edi
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x3b4]
push ecx
push edx
call fcn.00402920
add esp, 0x10
test eax, eax
jne 0x40268a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa60
ret
lea eax, [esp + 0x5ac]
push str.del
push eax
call ebx
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x5ac]
push ecx
push edx
call ebp
lea eax, [esp + 0x5ac]
push eax
call fcn.004029c0
push 0x50
call fcn.00403360
add esp, 8
lea ecx, [esp + 0x5ac]
push str.del
push ecx
call ebx
lea edx, [esp + 0x2ac]
lea eax, [esp + 0x5ac]
push edx
push eax
call ebp
lea ecx, [esp + 0x5ac]
push str.0000.bat
push ecx
call ebp
lea edx, [esp + 0x5ac]
push edx
call fcn.004029c0
add esp, 4
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x2c]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
push str.0000.exe
push edx
call ebp
lea eax, [esp + 0x770]
push eax
call fcn.00402d90
add esp, 4
lea ecx, [esp + 0x2c]
push 0x40b0f8
push ecx
call ebp
lea edx, [esp + 0x770]
lea eax, [esp + 0x2c]
push edx
push eax
call ebp
mov al, byte [esp + 0x24c]
test al, al
je 0x40276b
lea ecx, [esp + 0x2c]
push 0x40b0f4
push ecx
call ebp
lea edx, [esp + 0x24c]
lea eax, [esp + 0x2c]
push edx
push eax
call ebp
mov al, byte [esp + 0x26c]
test al, al
je 0x402791
lea ecx, [esp + 0x2c]
push 0x40b0f4
push ecx
call ebp
lea edx, [esp + 0x26c]
lea eax, [esp + 0x2c]
push edx
push eax
call ebp
mov al, byte [esp + 0x22c]
test al, al
je 0x4027b7
lea ecx, [esp + 0x2c]
push 0x40b0f4
push ecx
call ebp
lea edx, [esp + 0x22c]
lea eax, [esp + 0x2c]
push edx
push eax
call ebp
mov al, byte [esp + 0x870]
test al, al
je 0x4027dd
lea ecx, [esp + 0x2c]
push 0x40b0f0
push ecx
call ebp
lea edx, [esp + 0x870]
lea eax, [esp + 0x2c]
push edx
push eax
call ebp
mov esi, dword [esp + 0x28]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 0x64
call fcn.00403360
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
je 0x40280d
lea ecx, [esp + 0x2c]
push str.__Ai
push ecx
call ebp
mov eax, dword [0x40b044]
test eax, eax
je 0x402823
mov edx, dword [0x40c8a4]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x6ac]
lea edx, [esp + 0x2c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x29c]
lea ecx, [esp + 0x6ac]
push eax
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push 0
mov dword [esp + 0x6d4], 0x44
mov word [esp + 0x704], 5
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x4028a7
mov edi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x29c]
lea eax, [esp + 0x14]
push eax
push ecx
call edi
test eax, eax
je 0x4028a7
cmp dword [esp + 0x14], 0x103
jne 0x4028a7
push 0x3e8
call esi
jmp 0x402881
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ExitProcess]