Function at 0x432bc5
Capabilities:
Check for time delay via gettickcount
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x5b8]
sub esp, 0x638
mov eax, dword [0x4705d0]
xor eax, ebp
mov dword [ebp + 0x5b4], eax
or dword [ebp - 0x60], 0xffffffff
push ebx
push esi
push edi
mov esi, 0x103
xor ebx, ebx
push esi
lea eax, [ebp + 0x3ad]
push ebx
push eax
mov byte [ebp + 0x3ac], bl
call fcn.004464f0
push esi
lea eax, [ebp + 0x4b1]
push ebx
push eax
mov byte [ebp + 0x4b0], bl
call fcn.004464f0
push 0x1ff
lea eax, [ebp - 0x5b]
push ebx
push eax
mov byte [ebp - 0x5c], bl
call fcn.004464f0
push esi
lea eax, [ebp + 0x2a9]
push ebx
push eax
mov byte [ebp + 0x2a8], bl
call fcn.004464f0
push esi
lea eax, [ebp + 0x1a5]
push ebx
push eax
mov byte [ebp + 0x1a4], bl
call fcn.004464f0
xor eax, eax
mov word [ebp - 0x80], ax
lea edi, [ebp - 0x7e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0x3c
cmp dword [ebp + 0x5c0], 7
stosw word es:[edi], ax
ja 0x433691
mov esi, dword [ebp + 0x5c0]
mov eax, dword [ebp + 0x5c4]
shl esi, 2
cmp eax, dword [esi + 0x4725d4]
jge 0x433691
cmp eax, ebx
jl 0x433691
mov eax, dword [esi + 0x473bec]
cmp eax, ebx
je 0x433691
mov edi, dword [ebp + 0x5c4]
imul edi, edi, 0xf54
add eax, edi
cmp eax, ebx
je 0x433691
mov ecx, dword [eax + 0x40]
cmp ecx, 1
jl 0x433691
cmp ecx, 0x10
jg 0x433691
push 0x45ebf0
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x433683
mov eax, dword [esi + 0x473bec]
add eax, edi
push str.Freeze
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x433683
mov eax, dword [esi + 0x473bec]
add eax, edi
push 0x45a098
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x432d55
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x432d55
mov eax, dword [esi + 0x473bec]
push ebx
push dword [ebp + 0x5c4]
mov byte [edi + eax + 0xf24], 4
push dword [ebp + 0x5c0]
call fcn.00431fdf
jmp 0x433694
mov eax, dword [esi + 0x473bec]
push ebx
push ebx
push dword [ebp + 0x5c4]
lea eax, [edi + eax + 0x15c]
push dword [ebp + 0x5c0]
push eax
call fcn.00439ea7
push ebx
push ebx
push dword [0x4775e4]
call fcn.00418a96
fstp qword [ebp - 0x6c]
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x477134]
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
test eax, eax
jge 0x432da5
fadd qword [0x45b530]
fld qword [ebp - 0x6c]
fmul qword [0x45ec20]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x473bec]
jne 0x432dd0
mov byte [edi + eax + 0xf24], 1
mov eax, dword [ebp + 0x5c4]
jmp 0x433694
cmp dword [edi + eax + 0xf14], ebx
je 0x432e54
lea eax, [ebp + 0x3ac]
push eax
call fcn.0041f17e
push 3
push 0x45b780
lea eax, [ebp + 0x3ac]
push eax
call fcn.0043fbb2
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x74]
push eax
movzx eax, word [ebp - 0x76]
push eax
movzx eax, word [ebp - 0x78]
push eax
movzx eax, word [ebp - 0x7a]
push eax
movzx eax, word [ebp - 0x7e]
push eax
movzx eax, word [ebp - 0x80]
push eax
mov eax, dword [ebp + 0x5c4]
inc eax
push eax
lea eax, [ebp + 0x3ac]
push eax
lea eax, [ebp + 0x4b0]
push str._s__Step__d__FAILURE__04d__02d__02d__02d_02d_02d.bmp
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x28
push ebx
push ebx
lea eax, [ebp + 0x4b0]
push eax
push ebx
push ebx
call fcn.004113b6
mov eax, dword [esi + 0x473bec]
mov byte [edi + eax + 0xf24], 3
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
cmp byte [eax], bl
jne 0x432e78
mov eax, str._no_failure_mode_selected_
push eax
lea eax, [ebp + 0x3ac]
push str.____Failure_Mode:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x3ac]
push eax
call fcn.0042036e
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push str.IGNORE
push eax
call fcn.004010ff
add esp, 0x18
test eax, eax
je 0x432ed0
mov eax, dword [esi + 0x473bec]
mov byte [edi + eax + 0xf24], 4
mov eax, dword [ebp + 0x5c4]
inc eax
jmp 0x433694
mov eax, dword [ebp + 0x5c4]
inc eax
push str.SOFTWARE_vTaskFailStep
push eax
push ebx
mov dword [ebp - 0x68], eax
call fcn.00444117
mov al, byte [0x476258]
add esp, 0xc
mov byte [ebp - 0x61], al
cmp al, bl
jne 0x432f0b
mov eax, dword [esi + 0x473bec]
cmp dword [edi + eax + 0xf18], ebx
je 0x432f0b
mov byte [0x476258], 1
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push str.IGNORE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x432f3e
mov eax, dword [esi + 0x473bec]
cmp dword [edi + eax + 0xf18], ebx
jne 0x432f3e
mov byte [0x476258], bl
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xc
lea eax, [ebp + 0x2a8]
push eax
mov eax, dword [ebp + 0x5c0]
imul eax, eax, 0x104
add eax, 0x472858
push eax
call fcn.0040dac4
push dword [ebp - 0x68]
lea eax, [ebp + 0x2a8]
push eax
push str.Run_Failure_in___s__at__Step__d_
push ebx
push 1
push dword [0x472434]
call fcn.0041f060
push dword [ebp - 0x68]
lea eax, [ebp + 0x2a8]
push eax
lea eax, [ebp + 0x1a4]
push str._s___Step__d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esi + 0x473bec]
add eax, edi
push eax
movzx eax, word [ebp - 0x76]
push eax
movzx eax, word [ebp - 0x78]
push eax
push dword [ebp - 0x68]
lea eax, [ebp + 0x2a8]
push eax
lea eax, [ebp - 0x5c]
push str.Failure_during_Run_n_nFile:_t_s_nStep:_t_d_nTime:_t_02d:_02d_nAction:_t__s__t
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x473bbc]
add esp, 0x44
cmp eax, ebx
je 0x43302f
cmp byte [eax], bl
je 0x43302f
push ebx
push ebx
push 0x4597fe
push 0x459858
push eax
call fcn.0043fa75
push dword [0x473bbc]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x180
jge 0x433023
push str._nError:
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x473bbc]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x43302f
push dword [0x473bbc]
call fcn.0042036e
pop ecx
lea eax, [ebp - 0x5c]
push eax
call fcn.0042036e
mov al, byte [ebp - 0x61]
mov byte [0x476258], al
mov eax, dword [0x473bbc]
mov byte [eax], bl
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
mov dword [esp], str.RETRY
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi + 0x473bec]
pop ecx
je 0x4330c0
inc dword [0x476fb4]
lea edi, [edi + eax + 0xe0d]
push edi
call fcn.0040109c
cmp dword [0x476fb4], eax
pop ecx
jle 0x433092
or dword [ebp - 0x60], 0xffffffff
jmp 0x4332eb
mov esi, dword [ebp + 0x5c4]
push edi
push dword [0x476fb4]
mov dword [ebp - 0x60], esi
push str.____Retrying_step__retry__d_of__s_
call fcn.0042036e
add esp, 0xc
push esi
push dword [ebp + 0x5c0]
call fcn.00422912
jmp 0x4332e6
lea eax, [edi + eax + 0xdcd]
push str.ERROR
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43361b
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
cmp byte [eax], bl
je 0x43361b
push str.SILENT
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x433089
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push 0x460818
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x433171
push str._n_nContinue_
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x472688]
or eax, 0x12034
push eax
lea eax, [ebp + 0x1a4]
push eax
lea eax, [ebp - 0x5c]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x433161
push str.____User_chose_to_STOP
call fcn.0042036e
pop ecx
jmp 0x433089
push str.____User_chose_to_CONTINUE
call fcn.0042036e
pop ecx
jmp 0x433678
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push str.JUMP
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4332fe
cmp dword [esi + 0x4725d4], ebx
mov dword [ebp - 0x68], ebx
jle 0x433282
mov dword [ebp - 0x70], ebx
mov eax, dword [esi + 0x473bec]
lea ecx, [edi + eax + 0xe0d]
cmp ecx, ebx
je 0x43323d
cmp byte [ecx], bl
je 0x43323d
mov edx, dword [ebp - 0x70]
test byte [edx + eax + 0x48], 1
jne 0x43323d
push 5
push str.STEP
push ecx
call fcn.00446461
add esp, 0xc
test eax, eax
jne 0x4331f8
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xe12]
push eax
call fcn.004464e4
pop ecx
mov ecx, dword [ebp - 0x68]
inc ecx
cmp eax, ecx
je 0x433258
mov ecx, dword [ebp - 0x70]
mov eax, dword [esi + 0x473bec]
add eax, ecx
mov ecx, dword [eax + 0x50]
cmp ecx, ebx
je 0x43323d
cmp byte [ecx], bl
je 0x43323d
push str.Label
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x43323d
mov eax, dword [esi + 0x473bec]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax + 0x50]
lea eax, [edi + eax + 0xe0d]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x433258
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
add dword [ebp - 0x70], 0xf54
cmp eax, dword [esi + 0x4725d4]
jl 0x4331a5
jmp 0x433282
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
inc eax
push eax
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xe0d]
push eax
lea eax, [ebp + 0x2a8]
push eax
push str.____Jumping_to_label___s____s___STEP__d_
call fcn.0042036e
add esp, 0x10
mov eax, dword [ebp - 0x68]
cmp eax, dword [esi + 0x4725d4]
jl 0x4332e6
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xe0d]
push eax
push str.____Label___s__not_found
call fcn.0042036e
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xe0d]
push eax
lea eax, [ebp + 0x3ac]
push str.Label___s__not_found
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x12030
lea eax, [ebp + 0x1a4]
push eax
lea eax, [ebp + 0x3ac]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
or dword [ebp - 0x60], 0xffffffff
cmp dword [ebp - 0x60], ebx
jge 0x4332f6
push str.RUN_FAILED
call fcn.0042036e
pop ecx
mov eax, dword [ebp - 0x60]
jmp 0x433694
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push str.VARIABLE
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi + 0x473bec]
pop ecx
je 0x433544
lea eax, [edi + eax + 0xe0d]
cmp byte [eax], bl
je 0x433678
push ebx
push ebx
push dword [ebp + 0x5c4]
push dword [ebp + 0x5c0]
push eax
call fcn.00439ea7
push dword [0x4775e4]
call fcn.0040109c
inc eax
push eax
lea eax, [ebp + 0x4b0]
push 0x45aac0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x3ac]
push eax
call fcn.0040109c
inc eax
push eax
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xe0d]
push eax
push str.____Incrementing_variable__s___d
call fcn.0042036e
mov eax, dword [esi + 0x473bec]
add eax, edi
add esp, 0x20
cmp byte [eax + 0xe0d], 0x7b
jne 0x433454
cmp byte [eax + 0xe0f], 0x7d
jne 0x433454
mov cl, byte [eax + 0xe0e]
cmp cl, 0x31
jl 0x433454
cmp cl, 0x39
jg 0x433454
movsx eax, cl
cmp dword [eax*4 + 0x473b00], ebx
je 0x433678
lea eax, [ebp + 0x4b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp eax, 0x20
jg 0x433404
lea eax, [ebp + 0x4b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp eax, ebx
jle 0x433678
lea eax, [ebp + 0x4b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp eax, 0x20
jle 0x43341c
push 0x20
pop eax
jmp 0x43342a
lea eax, [ebp + 0x4b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp + 0x4b0]
push eax
mov eax, dword [esi + 0x473bec]
movsx eax, byte [edi + eax + 0xe0e]
push dword [eax*4 + 0x473b00]
call fcn.00445ea0
add esp, 0xc
jmp 0x433678
add eax, 0xcc8
push eax
lea eax, [ebp + 0x3ac]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xc88]
push eax
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x473bec]
add eax, edi
lea ecx, [eax + 0xcc8]
cmp ecx, ebx
je 0x43349e
add eax, 0xe0d
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xc88]
cmp eax, ebx
je 0x4334bb
push str.Variable
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x4b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x4b0]
push eax
push dword [ebp + 0x5c4]
push dword [ebp + 0x5c0]
call fcn.00423053
mov eax, dword [esi + 0x473bec]
add eax, edi
lea ecx, [eax + 0xe0d]
cmp ecx, ebx
je 0x433500
add eax, 0xcc8
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xcc8]
cmp eax, ebx
je 0x43351f
lea ecx, [ebp + 0x3ac]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xc88]
cmp eax, ebx
je 0x433678
lea ecx, [ebp - 0x5c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x433678
lea eax, [edi + eax + 0xdcd]
push str.RESTART
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x433586
push str.____Restarting_Run_at_at__Step_1_
mov dword [ebp - 0x60], ebx
call fcn.0042036e
pop ecx
push dword [ebp + 0x5c4]
push dword [ebp + 0x5c0]
call fcn.00422912
mov dword [0x476fb4], ebx
jmp 0x4332f6
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push str.PROGRAM
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4332eb
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xe0d]
push eax
lea eax, [ebp + 0x3ac]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x102
lea eax, [ebp + 0x4b0]
push eax
lea eax, [ebp + 0x3ac]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea eax, [ebp + 0x4b0]
push eax
push str.____Running_program:___s_
call fcn.0042036e
lea eax, [ebp + 0x4b0]
push eax
call fcn.00413d35
add esp, 0xc
test eax, eax
jne 0x433089
lea eax, [ebp + 0x4b0]
push eax
push str.____Unable_to_start_program___s_
call fcn.0042036e
pop ecx
jmp 0x43315b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x477138]
cmp eax, 0xfa
jbe 0x433656
mov eax, dword [0x472688]
or eax, 0x12030
push eax
lea eax, [ebp + 0x1a4]
push eax
lea eax, [ebp - 0x5c]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x477138], eax
mov eax, dword [esi + 0x473bec]
lea eax, [edi + eax + 0xdcd]
push str.ERROR_AND_CONTINUE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4332e2
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
jmp 0x4332e6
mov eax, dword [esi + 0x473bec]
mov byte [edi + eax + 0xf24], 1
or eax, 0xffffffff
mov ecx, dword [ebp + 0x5b4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004464bf
add ebp, 0x5b8
leave
ret 8