Function at 0x42a750
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44c0e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfd0
push ebx
push esi
push edi
xor ebx, ebx
mov esi, ecx
mov edi, 0xf
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x64], ebx
mov byte [ebp - 0x74], bl
lea ecx, [esi + 0x2dc]
mov dword [ebp - 4], ebx
push str.Engine_thread_was_started.
mov byte [esi + 0x2b8], bl
mov byte [esi + 0x2b9], bl
mov byte [esi + 0x2c2], 1
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], ecx
call fcn.0040c2e0
mov ecx, esi
call fcn.004267c0
mov ecx, esi
call fcn.00426f50
mov ecx, esi
call fcn.00404670
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov byte [ebp - 0xcc], bl
call fcn.004019c0
push 0x45fdd0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xb0]
push ecx
mov byte [ebp - 4], 2
call fcn.00416de0
add esp, 0xc
cmp dword [ebp - 0x98], 0x10
mov eax, dword [ebp - 0xac]
mov byte [ebp - 4], 3
jae 0x42a824
lea eax, [ebp - 0xac]
push eax
push ebx
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov edi, eax
cmp edi, ebx
je 0x42a8c9
push 0x2bf20
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x42a8c2
mov eax, dword [ebp - 0x98]
mov dword [esi + 0x2d0], 0xffffffed
mov esi, 0x10
cmp eax, esi
jb 0x42a876
mov edx, dword [ebp - 0xac]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xb8], esi
mov edi, 0xf
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], 0
jb 0x42a8a5
mov eax, dword [ebp - 0xcc]
push eax
call fcn.0043c389
add esp, 4
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov byte [ebp - 0xcc], 0
cmp eax, esi
jmp 0x42c36b
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xa
mov edi, 0xf
push str.VSUpdater
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
call fcn.00401ab0
lea edx, [ebp - 0xd0]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x124]
push ecx
mov byte [ebp - 4], 4
call fcn.00416de0
add esp, 0xc
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 6
jb 0x42a91b
mov edx, dword [ebp - 0x2c]
push edx
call fcn.0043c389
add esp, 4
push 0xe
push str.DefaultTimeout
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], ebx
mov byte [ebp - 0x58], 0
call fcn.00401ab0
lea eax, [ebp - 0x5c]
lea ecx, [esi + 0x2c]
push eax
mov byte [ebp - 4], 7
call fcn.00404600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd8], ebx
mov byte [ebp - 0xe8], 0
call fcn.004019c0
cmp dword [ebp - 0x44], 0x10
mov byte [ebp - 4], 9
jb 0x42a986
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xd8], ebx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], ebx
mov byte [ebp - 0x58], 0
je 0x42a9bc
cmp dword [ebp - 0xd4], 0x10
mov eax, dword [ebp - 0xe8]
jae 0x42a9ad
lea eax, [ebp - 0xe8]
push eax
call fcn.0043df72
add esp, 4
mov dword [esi + 0x254], eax
mov edx, dword [str._UpdaterTerminationEvent]
push edx
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.00417df0
add esp, 0xc
cmp dword [ebp - 0xf0], 0x10
mov eax, dword [ebp - 0x104]
mov byte [ebp - 4], 0xa
jae 0x42a9f2
lea eax, [ebp - 0x104]
push eax
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp eax, ebx
mov dword [esi + 0x29c], eax
jne 0x42ab6b
push 0xa
lea edx, [ebp - 0x50]
push edx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0043d549
add esp, 0xc
push 0x3d
push str.Fatal_error:_cant_create_synchronization_event__error_code:
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
call fcn.00401ab0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0xb
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42aa43
sub eax, edx
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x30]
call fcn.0040bab0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.0040bcc0
mov eax, dword [ebp - 0x18]
mov esi, 0x10
cmp eax, esi
jb 0x42aa7d
mov edx, dword [ebp - 0x2c]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xf0], esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
jb 0x42aa9e
mov eax, dword [ebp - 0x104]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xd4], esi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xf4], ebx
mov byte [ebp - 0x104], 0
jb 0x42aac8
mov ecx, dword [ebp - 0xe8]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x10c], esi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd8], ebx
mov byte [ebp - 0xe8], 0
jb 0x42aaf2
mov edx, dword [ebp - 0x120]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x98], esi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], ebx
mov byte [ebp - 0x120], 0
jb 0x42ab1c
mov eax, dword [ebp - 0xac]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xb8], esi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], 0
jb 0x42ab46
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x60], esi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov byte [ebp - 0xcc], 0
jb 0x42c379
mov edx, dword [ebp - 0x74]
push edx
jmp 0x42c371
push 0xe
push str.IntegratedMode
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
call fcn.00401ab0
lea eax, [ebp - 0x30]
push eax
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0xc
call fcn.00404600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], ebx
mov byte [ebp - 0x90], 0
call fcn.004019c0
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0xe
jb 0x42abc6
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0043c389
add esp, 4
push 6
push str.TaskID
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x12c], ebx
mov byte [ebp - 0x13c], 0
call fcn.00401ab0
lea edx, [ebp - 0x140]
push edx
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0xf
call fcn.00404600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x180], ebx
mov byte [ebp - 0x190], 0
call fcn.004019c0
cmp dword [ebp - 0x128], 0x10
mov byte [ebp - 4], 0x11
jb 0x42ac46
mov eax, dword [ebp - 0x13c]
push eax
call fcn.0043c389
add esp, 4
mov ecx, dword [ebp - 0x80]
push 1
push 0x44fbec
push ecx
push ebx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x12c], ebx
mov byte [ebp - 0x13c], 0
call fcn.00414c80
cmp eax, ebx
je 0x42ac93
mov edx, dword [ebp - 0x80]
push 1
push 0x450698
push edx
push ebx
lea ecx, [ebp - 0x94]
call fcn.00414c80
cmp eax, ebx
jne 0x42ad78
lea ecx, [esi + 0x274]
push esi
call fcn.0040da60
push 1
lea ecx, [esi + 0x274]
call fcn.0040da30
mov eax, dword [ebp - 0x80]
push 1
push 0x450698
push eax
push ebx
lea ecx, [ebp - 0x94]
call fcn.00414c80
xor ecx, ecx
cmp eax, ebx
sete cl
push 0xb
push str.ProductName
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
mov dword [esi + 0x278], ecx
lea ecx, [ebp - 0x30]
call fcn.00401ab0
lea edx, [ebp - 0x30]
push edx
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0x12
call fcn.00404600
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x164], ebx
mov byte [ebp - 0x174], 0
call fcn.004019c0
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0x14
jb 0x42ad31
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x160], 0x10
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
jae 0x42ad50
lea eax, [ebp - 0x174]
push eax
lea ecx, [esi + 0x274]
call fcn.0040db40
cmp dword [ebp - 0x160], 0x10
mov byte [ebp - 4], 0x11
jb 0x42ad78
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.0043c389
add esp, 4
push ebx
push ebx
push ebx
lea ecx, [esi + 0x274]
push ebx
call fcn.0040d8f0
mov edx, dword [0x4626f8]
push edx
mov ecx, esi
call fcn.00420f80
lea ecx, [esi + 0x2c]
call fcn.0041b210
cmp eax, 1
jge 0x42adca
mov ecx, dword [ebp - 0x14]
push str.Fatal_error:_no_update_servers_specified.
call fcn.0040c2e0
push 0x4592ec
lea eax, [ebp - 0x1bc]
push eax
mov dword [ebp - 0x1bc], 0xffffffff
call fcn.0043c34f
push str.Appearance
lea ecx, [ebp - 0x15c]
call fcn.004166d0
push eax
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0x15
call fcn.00404600
mov edi, eax
cmp dword [ebp - 0x144], 0x10
mov byte [ebp - 4], 0x11
jb 0x42ae05
mov ecx, dword [ebp - 0x158]
push ecx
call fcn.0043c389
add esp, 4
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
cmp dword [edi + 0x18], 0x10
lea ebx, [edi + 4]
jb 0x42ae29
mov eax, dword [ebx]
jmp 0x42ae2b
mov eax, ebx
mov edx, dword [str.Stealth]
push edx
push eax
call fcn.0043cd34
add esp, 8
test eax, eax
jne 0x42ae46
push 2
jmp 0x42aeca
cmp dword [edi + 0x18], 0x10
jb 0x42ae50
mov eax, dword [ebx]
jmp 0x42ae52
mov eax, ebx
mov ecx, dword [str.Invisible]
push ecx
push eax
call fcn.0043cd34
add esp, 8
test eax, eax
jne 0x42ae6a
push 1
jmp 0x42aeca
cmp dword [edi + 0x18], 0x10
jb 0x42ae72
mov ebx, dword [ebx]
mov edx, dword [0x45fcf8]
push edx
push ebx
call fcn.0043cd34
add esp, 8
test eax, eax
je 0x42aec8
push str.Warning:_unknown_appearence_option_specified:
lea ecx, [ebp - 0x1b0]
call fcn.004166d0
push 0xffffffffffffffff
push 0
push edi
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x16
call fcn.0040b9c0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x1b0]
push eax
call fcn.0040bcc0
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x11
call fcn.00401850
push 0
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedExchange]
lea ebx, [esi + 0x2b4]
push ebx
call edi
lea ecx, [esi + 0x274]
call fcn.0040da40
test eax, eax
je 0x42aeed
push 2
push ebx
call edi
push str.DetailedLog
lea ecx, [ebp - 0x1b0]
call fcn.004166d0
lea edi, [esi + 0x2c]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.00404600
cmp dword [eax + 0x18], 0x10
jb 0x42af17
mov eax, dword [eax + 4]
jmp 0x42af1a
add eax, 4
push 0x44d8e0
push eax
call fcn.0043cd34
add esp, 8
mov ebx, eax
mov eax, dword [ebp - 0x198]
neg ebx
sbb bl, bl
inc bl
cmp eax, 0x10
mov byte [ebp - 4], 0x11
jb 0x42af4e
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0043c389
add esp, 4
test bl, bl
je 0x42af5b
mov byte [esi + 0x2c0], 1
jmp 0x42af62
mov byte [esi + 0x2c0], 0
push str.BreakScriptIfFail
lea ecx, [ebp - 0x1b0]
call fcn.004166d0
push eax
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.00404600
mov ecx, dword [eax + 0x18]
mov edi, 0x10
cmp ecx, edi
jb 0x42af8f
mov eax, dword [eax + 4]
jmp 0x42af92
add eax, 4
push 0x44d8e0
push eax
call fcn.0043cd34
add esp, 8
mov ebx, eax
mov eax, dword [ebp - 0x198]
neg ebx
sbb bl, bl
inc bl
cmp eax, edi
mov byte [ebp - 4], 0x11
jb 0x42afc5
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.0043c389
add esp, 4
test bl, bl
setne al
mov byte [esi + 0x2c1], al
mov al, byte [esi + 0x2c0]
test al, al
je 0x42b19e
mov byte [ebp - 0xb98], 0
xor eax, eax
mov ecx, 0x1ff
lea edi, [ebp - 0xb97]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x14]
stosw word es:[edi], ax
push str.List_of_updater_options:_r_n
stosb byte es:[edi], al
call fcn.0040c2e0
xor ebx, ebx
cmp ebx, 0x19
jae 0x42b0c7
mov ecx, dword [ebx*4 + 0x44f1a8]
mov eax, ecx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
lea edi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42b030
sub eax, edi
push eax
push ecx
lea ecx, [ebp - 0x30]
call fcn.00401ab0
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0x19
call fcn.00404600
mov ecx, dword [eax + 0x18]
mov edi, 0x10
cmp ecx, edi
jb 0x42b064
mov eax, dword [eax + 4]
jmp 0x42b067
add eax, 4
mov edx, dword [ebx*4 + 0x44f1a8]
push eax
push edx
push str._s___s_r_n
lea eax, [ebp - 0xb98]
push 0x7fe
push eax
call fcn.00414ef0
mov eax, dword [ebp - 0x18]
add esp, 0x14
cmp eax, edi
mov byte [ebp - 4], 0x11
jb 0x42b0a0
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0043c389
add esp, 4
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0xb98]
push edx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.0040c2e0
inc ebx
jmp 0x42b006
mov ecx, dword [ebp - 0x14]
push str.List_of_updater_variables:_r_n
call fcn.0040c2e0
xor edi, edi
cmp edi, dword [esi + 0xc]
jge 0x42b19e
xor eax, eax
mov ebx, 0xf
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x58], al
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x5c]
push ecx
push edi
lea ecx, [esi + 4]
mov byte [ebp - 4], 0x1b
call fcn.00417130
mov ecx, dword [ebp - 0x18]
mov eax, 0x10
cmp ecx, eax
mov ecx, dword [ebp - 0x2c]
jae 0x42b11f
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x58]
jae 0x42b12a
lea eax, [ebp - 0x58]
push ecx
push eax
push str._s___s_r_n
lea edx, [ebp - 0xb98]
push 0x7fe
push edx
call fcn.00414ef0
mov ecx, dword [ebp - 0x14]
add esp, 0x14
lea eax, [ebp - 0xb98]
push eax
call fcn.0040c2e0
cmp dword [ebp - 0x18], 0x10
jb 0x42b166
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x44], 0x10
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x11
jb 0x42b18a
mov edx, dword [ebp - 0x58]
push edx
call fcn.0043c389
add esp, 4
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
inc edi
jmp 0x42b0d6
mov eax, dword [esi + 0x2b4]
lea edi, [esi + 0x2b4]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
neg eax
sbb al, al
inc al
xor ebx, ebx
push ebx
mov byte [esi + 0x2c3], al
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, esi
call fcn.00404670
cmp dword [eax + 0x18], 0x10
jb 0x42b1d9
mov eax, dword [eax + 4]
jmp 0x42b1dc
add eax, 4
push eax
lea ecx, [ebp - 0x398]
push str._sUpdater
push ecx
call fcn.0043ce7f
add esp, 0xc
lea edx, [ebp - 0x398]
push edx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x42b40f
mov eax, dword [ebp - 0x34]
cmp eax, ebx
je 0x42b223
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x398]
push ecx
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov edx, dword [edi]
push ebx
push edx
push edi
mov dword [ebp - 0x40], eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push eax
mov eax, dword [ebp - 0x40]
push eax
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x32
mov edi, 0xf
push str.Another_instance_is_already_started__object_name:
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
call fcn.00401ab0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x1c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b280
sub eax, edx
push eax
lea ecx, [ebp - 0x398]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0040bab0
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x30]
push edx
call fcn.0040bcc0
mov dword [esi + 0x2d0], 0x1a
mov esi, dword [esi + 0x300]
mov eax, dword [esi]
push 0x1a
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [ebp - 0x18]
mov esi, 0x10
cmp eax, esi
jb 0x42b2d6
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x17c], esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
jb 0x42b2f7
mov edx, dword [ebp - 0x190]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x7c], esi
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x180], ebx
mov byte [ebp - 0x190], 0
jb 0x42b31e
mov eax, dword [ebp - 0x90]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xf0], esi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], ebx
mov byte [ebp - 0x90], 0
jb 0x42b342
mov ecx, dword [ebp - 0x104]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xd4], esi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xf4], ebx
mov byte [ebp - 0x104], 0
jb 0x42b36c
mov edx, dword [ebp - 0xe8]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x10c], esi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd8], ebx
mov byte [ebp - 0xe8], 0
jb 0x42b396
mov eax, dword [ebp - 0x120]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x98], esi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], ebx
mov byte [ebp - 0x120], 0
jb 0x42b3c0
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xb8], esi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], 0
jb 0x42b3ea
mov edx, dword [ebp - 0xcc]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x60], esi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov byte [ebp - 0xcc], 0
jb 0x42c379
mov eax, dword [ebp - 0x74]
push eax
jmp 0x42c371
mov edi, dword [sym.imp.USER32.dll_RegisterWindowMessageA]
lea ecx, [ebp - 0x398]
push ecx
call edi
mov ecx, esi
mov dword [0x46209c], eax
call fcn.00404670
cmp dword [eax + 0x18], 0x10
jb 0x42b435
mov eax, dword [eax + 4]
jmp 0x42b438
add eax, 4
push eax
lea edx, [ebp - 0x398]
push str._s_Tray_Message
push edx
call fcn.0043ce7f
add esp, 0xc
lea eax, [ebp - 0x398]
push eax
call edi
mov dword [0x4620a0], eax
mov eax, dword [ebp - 0x34]
cmp eax, ebx
je 0x42b469
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x4c]
call fcn.00415470
xor edi, edi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb4], esp
push 6
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.Server
mov byte [ebp - 4], 0x1d
mov byte [ecx + 4], 0
call fcn.00401ab0
lea ecx, [esi + 0x2c]
call fcn.0041b2b0
lea ecx, [ebp - 0x4c]
cmp ecx, eax
je 0x42b4db
mov edi, dword [eax + 4]
mov edx, dword [edi]
mov dword [ebp - 0x40], edx
call fcn.00416b70
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x40]
mov eax, dword [eax]
push ecx
push edi
push edx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00417ec0
mov edi, dword [ebp - 0x44]
cmp edi, ebx
mov dword [ebp - 0x40], edi
jne 0x42b50a
mov ecx, dword [ebp - 0x14]
push str.Fatal_error:_no_update_servers_specified.
call fcn.0040c2e0
push 0x4592ec
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 0x1d8], 0xffffffff
call fcn.0043c34f
xor eax, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x40]
mov edi, 0xf
jge 0x42bac0
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1f
mov dword [esi + 0x2a4], ebx
call fcn.0041e4c0
mov edx, dword [esi + 0x2d4]
cmp edx, 4
je 0x42ba52
xor eax, eax
cmp edx, 2
mov ecx, 0x40
lea edi, [ebp - 0x394]
rep stosd dword es:[edi], eax
je 0x42b6b9
cmp edx, 3
je 0x42b6b9
push 0x44dd54
lea ecx, [ebp - 0x220]
call fcn.004166d0
mov ebx, eax
push str.ProductName
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x23
call fcn.004166d0
mov dword [ebp - 0x34], eax
lea edi, [esi + 0x2c]
push ebx
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.00404600
cmp dword [eax + 0x18], 0x10
jb 0x42b5ac
mov ebx, dword [eax + 4]
jmp 0x42b5af
lea ebx, [eax + 4]
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, edi
call fcn.00404600
mov ecx, dword [eax + 0x18]
mov edi, 0x10
cmp ecx, edi
jb 0x42b5cb
mov ecx, dword [eax + 4]
jmp 0x42b5ce
lea ecx, [eax + 4]
cmp dword [esi + 0x33c], edi
jb 0x42b5de
mov eax, dword [esi + 0x328]
jmp 0x42b5e4
lea eax, [esi + 0x328]
push ebx
push ecx
push eax
lea edx, [ebp - 0x394]
push 0x100
push edx
call fcn.0043d58d
mov eax, dword [ebp - 0x224]
add esp, 0x14
cmp eax, edi
jb 0x42b614
mov eax, dword [ebp - 0x238]
push eax
call fcn.0043c389
add esp, 4
mov eax, dword [ebp - 0x208]
xor ebx, ebx
cmp eax, 0x10
mov edi, 0xf
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x228], ebx
mov byte [ebp - 0x238], bl
mov byte [ebp - 4], 0x1f
jb 0x42b64b
mov ecx, dword [ebp - 0x21c]
push ecx
call fcn.0043c389
add esp, 4
lea edx, [ebp - 0x394]
push edx
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x208], edi
mov dword [ebp - 0x20c], ebx
mov byte [ebp - 0x21c], 0
call fcn.004166d0
mov ecx, dword [esi + 0x300]
mov eax, dword [ecx]
lea edx, [ebp - 0x15c]
push edx
mov byte [ebp - 4], 0x25
call dword [eax]
cmp dword [ebp - 0x144], 0x10
mov byte [ebp - 4], 0x1f
jb 0x42b6a1
mov eax, dword [ebp - 0x158]
push eax
call fcn.0043c389
add esp, 4
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x148], ebx
mov byte [ebp - 0x158], 0
jmp 0x42b862
push 0xe
xor ebx, ebx
mov edi, 0xf
push 0x44dd54
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1e8], ebx
mov byte [ebp - 0x1f8], bl
call fcn.00401ab0
push 0xb
push str.ProductName
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x12c], ebx
mov byte [ebp - 0x13c], bl
call fcn.00401ab0
lea ecx, [ebp - 0x1fc]
lea edi, [esi + 0x2c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x21
call fcn.00404600
cmp dword [eax + 0x18], 0x10
jb 0x42b72c
mov ebx, dword [eax + 4]
jmp 0x42b72f
lea ebx, [eax + 4]
lea edx, [ebp - 0x140]
push edx
mov ecx, edi
call fcn.00404600
mov ecx, dword [eax + 0x18]
mov edi, 0x10
cmp ecx, edi
jb 0x42b74e
mov ecx, dword [eax + 4]
jmp 0x42b751
lea ecx, [eax + 4]
cmp dword [esi + 0x358], edi
jb 0x42b761
mov eax, dword [esi + 0x344]
jmp 0x42b767
lea eax, [esi + 0x344]
push ebx
push ecx
push eax
lea eax, [ebp - 0x394]
push 0x100
push eax
call fcn.0043d58d
mov eax, dword [ebp - 0x128]
add esp, 0x14
cmp eax, edi
jb 0x42b797
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.0043c389
add esp, 4
mov eax, dword [ebp - 0x1e4]
xor ebx, ebx
cmp eax, 0x10
mov edi, 0xf
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x12c], ebx
mov byte [ebp - 0x13c], bl
mov byte [ebp - 4], 0x1f
jb 0x42b7ce
mov edx, dword [ebp - 0x1f8]
push edx
call fcn.0043c389
add esp, 4
lea eax, [ebp - 0x394]
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1e8], ebx
mov byte [ebp - 0x1f8], 0
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x164], ebx
mov byte [ebp - 0x174], 0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b800
sub eax, edx
push eax
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x178]
call fcn.00401ab0
mov ecx, dword [esi + 0x300]
mov edx, dword [ecx]
lea eax, [ebp - 0x178]
push eax
mov byte [ebp - 4], 0x22
call dword [edx]
cmp dword [ebp - 0x160], 0x10
mov byte [ebp - 4], 0x1f
jb 0x42b84d
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.0043c389
add esp, 4
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], edi
mov byte [ebp - 0x174], 0
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp - 0x80]
push 1
push 0x44fbec
push edx
push ebx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x34], eax
call fcn.00414c80
cmp eax, ebx
je 0x42b8bd
mov eax, dword [ebp - 0x80]
push 1
push 0x450698
push eax
push ebx
lea ecx, [ebp - 0x94]
call fcn.00414c80
cmp eax, ebx
je 0x42b8bd
cmp dword [esi + 0x2b0], 0xffffffff
je 0x42b8bd
mov ecx, dword [esi + 0x300]
mov edx, dword [ecx]
push ebx
lea eax, [esi + 0x35c]
push eax
call dword [edx + 8]
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x14]
mov ecx, dword [esi + 0x29c]
dec edi
cmp edx, edi
push 0
sete bl
push ecx
mov byte [ebp - 4], 0x26
mov byte [ebp - 0xb4], bl
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
setne al
test al, al
mov byte [esi + 0x2ac], al
je 0x42b90f
push 0x4592ec
lea edx, [ebp - 0x1b4]
push edx
mov dword [ebp - 0x1b4], 0x1a
call fcn.0043c34f
mov eax, dword [ebp - 0xb4]
push eax
lea ecx, [esi + 0x21c]
push ecx
mov ecx, esi
call fcn.0042a420
mov edx, dword [esi + 0x29c]
push 0
push edx
mov byte [ebp - 0x39], al
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
setne al
test al, al
mov byte [esi + 0x2ac], al
je 0x42b963
push 0x4592ec
lea eax, [ebp - 0x1dc]
push eax
mov dword [ebp - 0x1dc], 0x1a
call fcn.0043c34f
mov al, byte [ebp - 0x39]
test al, al
jne 0x42b9af
push str.Error:_failed_to_open_URL._See_updaters_error_code_for_details.
lea ecx, [esi + 0x2dc]
call fcn.0040c2e0
test bl, bl
je 0x42b999
push 0x4592ec
lea ecx, [ebp - 0x1c4]
push ecx
mov dword [ebp - 0x1c4], 0xfffffff5
call fcn.0043c34f
lea ecx, [ebp - 0x30]
call fcn.00401850
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
jmp 0x42b50f
cmp dword [esi + 0x2b0], 0xffffffff
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0x1f
je 0x42b9eb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x34]
cmp eax, 0x7d0
jge 0x42b9e0
mov edx, 0x7d0
sub edx, eax
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esi + 0x300]
mov eax, dword [ecx]
call dword [eax + 0xc]
push str.ReturnCode
lea ecx, [ebp - 0x294]
call fcn.004166d0
push eax
lea ecx, [esi + 0x94]
mov byte [ebp - 4], 0x28
call fcn.00418130
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x30]
call fcn.004019c0
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1f
call fcn.00401850
mov eax, dword [ebp - 0x1c]
test eax, eax
jbe 0x42ba97
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x42ba3a
lea eax, [ebp - 0x2c]
push eax
call fcn.0043df72
add esp, 4
cmp eax, 1
mov dword [esi + 0x2d0], eax
jg 0x42befb
mov edx, dword [esi + 0x29c]
push 0
push edx
mov ebx, 0x10
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
setne al
test al, al
mov byte [esi + 0x2ac], al
je 0x42bd18
push 0x4592ec
lea eax, [ebp - 0x1c8]
push eax
mov dword [ebp - 0x1c8], 0x1a
call fcn.0043c34f
push str.Fatal_error:_return_code_not_found_in_response._Exiting.
lea ecx, [esi + 0x2dc]
mov dword [esi + 0x2d0], 0xfffffff5
call fcn.0040c2e0
lea ecx, [ebp - 0x30]
call fcn.00401850
xor ebx, ebx
mov edi, 0xf
lea ecx, [ebp - 0x4c]
call fcn.00416b70
mov eax, dword [ebp - 0x48]
push eax
call fcn.0043c389
mov eax, dword [ebp - 0x17c]
add esp, 4
cmp eax, 0x10
jb 0x42baee
mov ecx, dword [ebp - 0x190]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x7c], 0x10
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x180], ebx
mov byte [ebp - 0x190], 0
jb 0x42bb16
mov edx, dword [ebp - 0x90]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xf0], 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], ebx
mov byte [ebp - 0x90], 0
jb 0x42bb3b
mov eax, dword [ebp - 0x104]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xd4], 0x10
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xf4], ebx
mov byte [ebp - 0x104], 0
jb 0x42bb66
mov ecx, dword [ebp - 0xe8]
push ecx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x10c], 0x10
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd8], ebx
mov byte [ebp - 0xe8], 0
jb 0x42bb91
mov edx, dword [ebp - 0x120]
push edx
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0x98], 0x10
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], ebx
mov byte [ebp - 0x120], 0
jb 0x42bbbc
mov eax, dword [ebp - 0xac]
push eax
call fcn.0043c389
add esp, 4
cmp dword [ebp - 0xb8], 0x10
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], 0
jb 0x42c035
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0043c389
add esp, 4
mov dword [ebp - 4], 0
jmp 0x42c05a
mov eax, dword [esi + 0x2d4]
cmp eax, 4
ja case.default.0x42bd27
jmp dword [eax*4 + 0x42c38c]
mov ecx, esi
call fcn.0041f5f0
mov eax, dword [esi + 0x2d0]
cmp eax, 0x19
je 0x42befb
cmp eax, 0x1a
jne case.0x42bd27.3
jmp 0x42befb
push 0
mov ecx, esi
call fcn.00427840
mov edi, eax
cmp edi, 1
jne 0x42bdf0
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
push str.LookupDir
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x29
call fcn.004166d0
lea ecx, [ebp - 0x1b0]
push ecx
lea edx, [esi + 0x1c8]
push edx
push eax
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 0x2a
call fcn.0041d940
lea ecx, [ebp - 0x278]
call fcn.00401850
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x1f
call fcn.00401850
lea ebx, [ebx]
cmp edi, 1
jne 0x42bdf0
push edi
lea eax, [esi + 0x21c]
push eax
mov ecx, esi
call fcn.0042a420
push edi
mov ecx, esi
call fcn.00427840
mov edi, eax
jmp 0x42bdd0
cmp dword [esi + 0x2d4], 2
jne case.0x42bd27.3
mov ecx, dword [esi + 0x300]
mov edx, dword [ecx]
call dword [edx + 0x34]
cmp dword [ebp - 0x18], ebx
jb 0x42be15
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0043c389
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
jmp 0x42c001
lea edi, [esi + 0x6c]
push 1
mov ecx, edi
call fcn.00417380
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x78]
call fcn.004019c0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x42be6b
push str.Very_strange_situation:_no_script_is_given._Exiting.
lea ecx, [esi + 0x2dc]
call fcn.0040c2e0
mov dword [esi + 0x2d0], 0xffffffee
jmp 0x42befb
cmp dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x74]
jae 0x42be76
lea eax, [ebp - 0x74]
push 0x3a
push eax
call fcn.0043dae5
add esp, 8
test eax, eax
jne 0x42bec5
lea ecx, [esi + 0x1c8]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00403bd0
mov edx, dword [ebp - 0x64]
dec edx
push edx
lea ecx, [ebp - 0x78]
call fcn.0040b5f0
cmp byte [eax], 0x5c
je 0x42beb3
push 0x44f4ec
lea ecx, [ebp - 0x78]
call fcn.0040bc00
push 1
mov ecx, edi
call fcn.00417380
push eax
lea ecx, [ebp - 0x78]
call fcn.0040bbe0
cmp dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x74]
jae 0x42bed0
lea eax, [ebp - 0x74]
push eax
mov ecx, esi
call fcn.004271c0
test al, al
je 0x42bef1
mov ecx, esi
mov dword [esi + 0x2d0], 0x15
call fcn.00425360
test al, al
jne 0x42befb
mov dword [esi + 0x2d0], 0xfffffffe
lea ecx, [ebp - 0x30]
call fcn.00401850
lea ecx, [ebp - 0x4c]
call fcn.00416bb0
lea ecx, [ebp - 0x194]
call fcn.00401850
lea ecx, [ebp - 0x94]
call fcn.00401850
lea ecx, [ebp - 0x108]
call fcn.00401850
lea ecx, [ebp - 0xec]
call fcn.00401850
lea ecx, [ebp - 0x124]
call fcn.00401850
lea ecx, [ebp - 0xb0]
call fcn.00401850
lea ecx, [ebp - 0xd0]
call fcn.00401850
mov byte [ebp - 4], 0
jmp 0x42c05a
push 0xa
lea ecx, [ebp - 0x25c]
push ecx
push eax
call fcn.0043d549
add esp, 0xc
push 0x1d
push str.ERROR:_Invalid_request_type:
lea ecx, [ebp - 0x78]
call fcn.00401ab0
lea eax, [ebp - 0x25c]
lea edx, [eax + 1]
jmp 0x42bf90
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42bf90
sub eax, edx
push eax
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x78]
call fcn.0040bab0
push 1
push 0x44f474
lea ecx, [ebp - 0x78]
call fcn.0040bab0
lea eax, [ebp - 0x78]
push eax
lea ecx, [esi + 0x2dc]
call fcn.0040bcc0
push 0x4592ec
lea ecx, [ebp - 0x1d0]
push ecx
mov dword [ebp - 0x1d0], 0xfffffffd
call fcn.0043c34f
mov esi, dword [ebp - 0x38]
mov ecx, esi
call fcn.00414610
mov edx, dword [ebp - 0x204]
mov dword [esi + 0x2d0], edx
mov eax, 0x42bffe
ret
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 4], 0x1d
mov dword [ebp - 0x14], eax
xor ebx, ebx
jmp 0x42b50f
mov dword [ebp - 4], 0
jmp 0x42c05a
mov eax, dword [esi + 0x29c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
setne al
test al, al
mov byte [esi + 0x2ac], al
jne case.0x42c094.22
mov eax, dword [esi + 0x2d0]
lea ecx, [eax + 0x14]
cmp ecx, 0x2b
ja case.0x42c094.19
movzx ecx, byte [ecx + 0x42c3b8]
jmp dword [ecx*4 + 0x42c3a0]
mov ecx, dword [esi + 0x300]
mov edx, dword [ecx]
push 0x12f
call dword [edx + 0x2c]
mov eax, dword [esi + 0x4a4]
test eax, eax
je 0x42c1f1
lea eax, [esi + 0x490]
push eax
call fcn.0041a620
add esp, 4
jmp 0x42c1f1
push 0x12f
jmp 0x42c1df
mov ecx, dword [esi + 0x300]
mov eax, dword [ecx]
push 0x12c
call dword [eax + 0x2c]
jmp case.0x42c094.22
mov al, byte [esi + 0x2b9]
test al, al
je case.0x42c094.22
mov dword [esi + 0x2d0], 0x16
jmp case.0x42c094.22
test eax, eax
jge 0x42c122
mov ecx, dword [esi + 0x300]
mov edx, dword [ecx]
push 0x12f
call dword [edx + 0x2c]
jmp 0x42c1f1
push 0x190
push eax
mov ecx, esi
call fcn.00414660
test al, al
jne 0x42c1da
mov eax, dword [esi + 0x2d0]
push 0xbb8
push eax
mov ecx, esi
call fcn.00414660
test al, al
jne 0x42c1da
mov ecx, dword [esi + 0x2d0]
push 0x12c
push ecx
mov ecx, esi
call fcn.00414660
test al, al
jne 0x42c1c8
push 0x7d0
mov ecx, esi
call fcn.00414a70
test al, al
jne 0x42c1c8
push 0xc8
mov ecx, esi
call fcn.00414a70
test al, al
je 0x42c190
push 0x12d
jmp 0x42c1df
push 0xa
mov ecx, esi
call fcn.00414a70
test al, al
je 0x42c1af
mov ecx, dword [esi + 0x300]
mov eax, dword [ecx]
push 0x12e
call dword [eax + 0x2c]
jmp case.0x42c094.22
mov eax, dword [esi + 0x2d0]
cmp eax, 0x14
jle 0x42c10d
cmp eax, 0x1e
jl case.0x42c094.22
jmp 0x42c10d
mov ecx, dword [esi + 0x300]
mov eax, dword [ecx]
push 0x130
call dword [eax + 0x2c]
jmp case.0x42c094.22
push 0x131
mov ecx, dword [esi + 0x300]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov ecx, esi
call fcn.0041a8e0
mov ecx, dword [esi + 0x2d0]
push 0xa
lea eax, [ebp - 0x25c]
push eax
push ecx
call fcn.0043d549
add esp, 0xc
push 0x26
push str.Engine_is_exiting_with_return_code_of
lea ecx, [ebp - 0x78]
call fcn.00401ab0
lea eax, [ebp - 0x25c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c221
sub eax, edx
push eax
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x78]
call fcn.0040bab0
push 1
push 0x44f474
lea ecx, [ebp - 0x78]
call fcn.0040bab0
lea eax, [ebp - 0x78]
push eax
lea ecx, [esi + 0x2dc]
call fcn.0040bcc0
mov ecx, dword [esi + 0x300]
mov eax, dword [esi + 0x2d0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x24]
mov ecx, esi
call fcn.00414610
mov eax, dword [esi + 0x2d0]
test eax, eax
jl 0x42c355
cmp eax, 2
je 0x42c355
cmp eax, 8
je 0x42c355
cmp eax, 9
je 0x42c355
cmp eax, 0x1a
je 0x42c367
push 0
push 0
push eax
push 8
lea ecx, [esi + 0x274]
call fcn.0040d8f0
push str.Timeout
lea ecx, [ebp - 0x278]
call fcn.004166d0
push eax
lea ecx, [esi + 0x94]
mov byte [ebp - 4], 0x2d
call fcn.00418130
push eax
lea ecx, [ebp - 0x15c]
call fcn.00401ba0
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x2f
call fcn.00401850
mov edi, dword [ebp - 0x144]
cmp edi, 0x10
mov eax, dword [ebp - 0x158]
jae 0x42c307
lea eax, [ebp - 0x158]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c310
sub eax, edx
mov dword [ebp - 0x1e0], eax
je 0x42c341
cmp edi, 0x10
mov eax, dword [ebp - 0x158]
jae 0x42c332
lea eax, [ebp - 0x158]
push eax
call fcn.0043df72
add esp, 4
mov dword [esi + 0x254], eax
mov ecx, esi
call fcn.0041cc40
lea ecx, [ebp - 0x15c]
call fcn.00401850
jmp 0x42c367
push 0
push 0
push eax
push 9
lea ecx, [esi + 0x274]
call fcn.0040d8f0
cmp dword [ebp - 0x60], 0x10
jb 0x42c379
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.0043c389
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret