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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x543e10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
mov eax, dword [0x58becc]
xor eax, dword [ebp + 4]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x10], eax
mov dword [esi], vtable.Sexy::SexyApp.0
xor ebx, ebx
mov eax, 0xf
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ebx
push edi
mov dword [ebp - 0x60], esi
mov byte [esi + 0xc], bl
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], ebx
mov dword [ebp - 4], ebx
mov byte [esi + 0x28], bl
mov dword [esi + 0x58], eax
mov dword [esi + 0x54], ebx
mov byte [esi + 0x44], bl
mov dword [esi + 0xb8], eax
mov dword [esi + 0xb4], ebx
mov byte [esi + 0xa4], bl
lea ecx, [esi + 0xc8]
mov byte [ebp - 4], 3
call fcn.00476240
mov al, byte [ebp - 0x11]
lea edi, [esi + 0x2f0]
mov ecx, edi
mov byte [ebp - 4], 4
mov byte [edi], al
call fcn.004cd400
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x2fc]
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.004785c0
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x324]
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.004786a0
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
mov eax, 0xf
mov dword [esi + 0x360], eax
mov dword [esi + 0x35c], ebx
mov byte [esi + 0x34c], bl
mov dword [esi + 0x37c], eax
mov dword [esi + 0x378], ebx
mov byte [esi + 0x368], bl
mov dword [esi + 0x39c], eax
mov dword [esi + 0x398], ebx
mov byte [esi + 0x388], bl
mov dword [esi + 0x3bc], eax
mov dword [esi + 0x3b8], ebx
mov byte [esi + 0x3a8], bl
mov dword [esi + 0x3d8], eax
mov dword [esi + 0x3d4], ebx
mov byte [esi + 0x3c4], bl
mov dword [esi + 0x410], eax
mov dword [esi + 0x40c], ebx
mov byte [esi + 0x3fc], bl
mov dword [esi + 0x43c], eax
mov dword [esi + 0x438], ebx
mov byte [esi + 0x428], bl
mov dword [esi + 0x458], eax
mov dword [esi + 0x454], ebx
mov byte [esi + 0x444], bl
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], ebx
mov byte [esi + 0x460], bl
mov cl, byte [ebp - 0x11]
lea edi, [esi + 0x49c]
mov byte [edi], cl
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.0043fff0
mov dword [edi + 4], eax
mov byte [eax + 0x11], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x4f4]
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.004785c0
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
mov dword [esi + 0x564], 0xf
mov dword [esi + 0x560], ebx
mov byte [esi + 0x550], bl
lea ecx, [esi + 0x568]
mov byte [ebp - 4], 0x13
call fcn.00485f30
mov dl, byte [ebp - 0x11]
lea edi, [esi + 0x5ac]
mov ecx, edi
mov byte [ebp - 4], 0x14
mov byte [edi], dl
call fcn.004cd400
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x5bc]
mov ecx, edi
mov byte [ebp - 4], 0x15
call fcn.004cd350
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
mov al, byte [ebp - 0x11]
lea edi, [esi + 0x5d8]
mov ecx, edi
mov byte [ebp - 4], 0x16
mov byte [edi], al
call fcn.0042da30
mov dword [edi + 4], eax
mov byte [eax + 0x45], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov cl, byte [ebp - 0x11]
lea edi, [esi + 0x5e4]
mov byte [edi], cl
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.004cd440
mov dword [edi + 4], eax
mov byte [eax + 0x2d], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov dl, byte [ebp - 0x11]
lea edi, [esi + 0x5f0]
mov ecx, edi
mov byte [ebp - 4], 0x18
mov byte [edi], dl
call fcn.004cd440
mov dword [edi + 4], eax
mov byte [eax + 0x2d], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov al, byte [ebp - 0x11]
lea edi, [esi + 0x5fc]
mov ecx, edi
mov byte [ebp - 4], 0x19
mov byte [edi], al
call fcn.004cd480
mov dword [edi + 4], eax
mov byte [eax + 0x39], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov cl, byte [ebp - 0x11]
lea edi, [esi + 0x608]
mov byte [edi], cl
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.004cd4c0
mov dword [edi + 4], eax
mov byte [eax + 0x39], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.version.dll
mov byte [ebp - 4], 0x1b
mov dword [0x5c45b0], esi
call edi
push str.ddraw.dll
mov dword [0x5c45bc], eax
call edi
mov dword [0x5c45b4], eax
push str.dsound.dll
call edi
push str.GetLastInputInfo
push str.user32.dll
mov dword [0x5c45b8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5c45c0], eax
mov dword [esi + 0xbc], ebx
mov byte [esi + 0xc0], 1
mov dword [esi + 0xc4], ebx
mov eax, dword [0x589530]
push 8
xor edx, edx
push eax
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5b], edx
push ecx
mov byte [ebp - 0x5c], bl
mov dword [ebp - 0x57], edx
call fcn.0052bcf0
lea edx, [ebp - 0x5c]
push edx
call fcn.00528b35
add esp, 0x10
cmp eax, ebx
mov dword [esi + 0x9c], eax
je 0x4defc6
mov edx, dword [0x589530]
add edx, 8
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4defb0
sub eax, edi
push eax
push edx
lea ecx, [esi + 0xa0]
call fcn.0041af60
push pe_nt_image_headers32
lea eax, [ebp - 0x160]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x160]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4deff0
sub eax, edx
push eax
lea ecx, [ebp - 0x160]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x4c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.004d21f0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x3c0]
mov byte [ebp - 4], 0x1d
call fcn.0041ad80
mov eax, dword [ebp - 0x34]
mov edi, 0x10
cmp eax, edi
jb 0x4df047
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
mov byte [ebp - 4], 0x1b
jb 0x4df069
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00527b8e
add esp, 4
mov byte [esi + 0x330], bl
mov byte [esi + 0x331], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x314], eax
mov eax, str.Product
mov byte [esi + 0x30c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df090
sub eax, edx
push eax
push str.Product
lea ecx, [esi + 8]
call fcn.0041af60
mov eax, str.SexyApp
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df0b0
sub eax, edi
push eax
push str.SexyApp
lea ecx, [esi + 0x24]
call fcn.0041af60
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
or eax, 0xffffffff
mov byte [esi + 0x30d], bl
mov dword [esi + 0x68], 0x280
mov dword [esi + 0x6c], 0x1e0
mov dword [esi + 0x70], 0x10
mov byte [esi + 0x30e], 1
mov byte [esi + 0x30f], bl
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
mov byte [esi + 0x320], bl
mov byte [esi + 0x321], 1
mov dword [esi + 0x318], ebx
mov dword [esi + 0x33c], ebx
mov dword [esi + 0x2ec], ebx
mov dword [esi + 0x344], ebx
mov dword [esi + 0x31c], ebx
mov dword [esi + 0x4ac], 0xa
mov dword [esi + 0x4a8], ebx
mov dword [esi + 0x4b8], ebx
mov dword [esi + 0x4c0], ebx
mov dword [esi + 0x4c8], ebx
mov dword [esi + 0x4cc], 0x3ff00000
mov byte [esi + 0x4d0], bl
mov dword [esi + 0x4d4], ebx
mov byte [esi + 0x4d8], bl
mov dword [esi + 0x4e8], ebx
mov dword [esi + 0x4e4], ebx
mov byte [esi + 0x500], bl
mov byte [esi + 0x501], bl
mov byte [esi + 0x502], 1
mov byte [esi + 0x503], bl
mov byte [esi + 0x52e], bl
mov byte [esi + 0x52f], 1
mov byte [esi + 0x530], bl
mov byte [esi + 0x478], bl
mov byte [esi + 0x479], bl
mov byte [esi + 0x52c], bl
mov byte [esi + 0x52d], bl
mov byte [esi + 0x531], bl
mov dword [esi + 0x540], ebx
mov dword [esi + 0x544], ebx
mov dword [esi + 0x534], ebx
mov dword [esi + 0x538], ebx
mov byte [esi + 0x53c], bl
call edi
mov dword [esi + 0x4dc], eax
call edi
push 0xfc
mov dword [esi + 0x4e0], eax
mov byte [esi + 0x532], 1
mov byte [esi + 0x310], bl
mov byte [esi + 0x311], bl
mov byte [esi + 0x504], 1
mov byte [esi + 0x338], bl
call fcn.005183e0
add esp, 4
mov dword [ebp - 0x50], eax
cmp eax, ebx
mov byte [ebp - 4], 0x1e
je 0x4df22c
mov ecx, eax
call fcn.00479170
jmp 0x4df22e
xor eax, eax
push 0x538
mov byte [ebp - 4], 0x1b
mov dword [esi + 0x334], eax
call fcn.005183e0
add esp, 4
mov dword [ebp - 0x50], eax
cmp eax, ebx
mov byte [ebp - 4], 0x1f
je 0x4df259
mov ecx, eax
call fcn.00491560
jmp 0x4df25b
xor eax, eax
mov dword [esi + 0xe0], eax
mov eax, str.ingame
mov byte [ebp - 4], 0x1b
mov dword [esi + 0xe4], ebx
mov byte [esi + 0xe8], bl
mov byte [esi + 0x2e9], bl
mov byte [esi + 0x533], bl
mov byte [esi + 0x3f4], bl
mov byte [esi + 0x312], bl
mov dword [esi + 0x420], ebx
mov byte [esi + 0x53d], 1
mov byte [esi + 0x2ea], bl
mov dword [esi + 0x380], ebx
mov byte [esi + 0x3a0], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df2b0
sub eax, edi
push eax
push str.ingame
lea ecx, [esi + 0x384]
call fcn.0041af60
mov ecx, 0x33333333
mov eax, 0x3feb3333
mov byte [esi + 0x9a], bl
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], eax
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x490], ebx
mov dword [esi + 0x494], ebx
mov byte [esi + 0x498], bl
mov byte [esi + 0x499], 1
mov dword [esi + 0x5b8], ebx
mov dword [esi + 0x518], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x50c], eax
mov dword [esi + 0x510], ebx
mov dword [esi + 0x51c], ebx
mov dword [esi + 0x514], ebx
mov byte [esi + 0x520], bl
mov dword [esi + 0x524], ebx
mov dword [esi + 0x508], ebx
mov dword [esi + 0x528], ebx
mov byte [esi + 0x340], bl
mov byte [esi + 0x5c8], bl
mov dword [esi + 0x618], ebx
mov byte [esi + 0x98], bl
mov byte [esi + 0x99], bl
mov byte [esi + 0x5cb], bl
mov byte [esi + 0x5cc], bl
mov byte [esi + 0x5cd], bl
mov byte [esi + 0x5ce], bl
mov ecx, 6
mov dword [esi + 0x5d0], ecx
mov dword [esi + 0x5d4], 0xe
lea edi, [esi + 0x3dc]
xor eax, eax
mov dword [esi + 0x5c], ebx
rep stosd dword es:[edi], eax
jmp 0x4df3c0
mov byte [esi + eax + 0xe9], al
inc eax
cmp eax, 0x100
jl 0x4df3c0
or eax, 0xffffffff
lea edi, [esi + 0x1e9]
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, 0x551628
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df3f4
sub eax, edi
push eax
push 0x551628
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov edi, 0xf
mov eax, str.DIALOG_BUTTON_OK
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df425
sub eax, edx
push eax
push str.DIALOG_BUTTON_OK
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df461
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df480
mov eax, dword [ebp - 0x48]
push eax
call fcn.00527b8e
add esp, 4
mov eax, 0x555b20
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df491
sub eax, edx
push eax
push 0x555b20
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.DIALOG_BUTTON_CANCEL
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df4c0
sub eax, edx
push eax
push str.DIALOG_BUTTON_CANCEL
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x23
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df4fc
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df51b
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00527b8e
add esp, 4
mov eax, str.Update_Check
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df530
sub eax, edx
push eax
push str.Update_Check
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.UPDATE_CHECK_TITLE
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df560
sub eax, edx
push eax
push str.UPDATE_CHECK_TITLE
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x25
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df59c
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df5bb
mov edx, dword [ebp - 0x48]
push edx
call fcn.00527b8e
add esp, 4
mov eax, str.Contacting_PopCap.com_to_determine_if_there_are_any_updates_available_for_this_product_...
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df5d0
sub eax, edx
push eax
push str.Contacting_PopCap.com_to_determine_if_there_are_any_updates_available_for_this_product_...
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.UPDATE_CHECK_BODY
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df600
sub eax, edx
push eax
push str.UPDATE_CHECK_BODY
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df63c
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df65b
mov eax, dword [ebp - 0x48]
push eax
call fcn.00527b8e
add esp, 4
mov eax, str.Up_to_Date
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df670
sub eax, edx
push eax
push str.Up_to_Date
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.UP_TO_DATE_TITLE
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df6a0
sub eax, edx
push eax
push str.UP_TO_DATE_TITLE
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x29
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df6dc
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df6fb
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00527b8e
add esp, 4
mov eax, str.There_are_no_updates_available_for_this_product_at_this_time.
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df710
sub eax, edx
push eax
push str.There_are_no_updates_available_for_this_product_at_this_time.
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.UP_TO_DATE_BODY
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df740
sub eax, edx
push eax
push str.UP_TO_DATE_BODY
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df77c
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df79b
mov edx, dword [ebp - 0x48]
push edx
call fcn.00527b8e
add esp, 4
mov eax, str.New_Version
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df7b0
sub eax, edx
push eax
push str.New_Version
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.NEW_VERSION_TITLE
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df7e0
sub eax, edx
push eax
push str.NEW_VERSION_TITLE
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x2d
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df81c
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df83b
mov eax, dword [ebp - 0x48]
push eax
call fcn.00527b8e
add esp, 4
mov eax, str.There_is_an_update_available_for_this_product.__Would_you_like_to_visit_the_web_site_to_download_it_
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df850
sub eax, edx
push eax
push str.There_is_an_update_available_for_this_product.__Would_you_like_to_visit_the_web_site_to_download_it_
lea ecx, [ebp - 0x4c]
call fcn.0041af60
mov eax, str.NEW_VERSION_BODY
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df880
sub eax, edx
push eax
push str.NEW_VERSION_BODY
lea ecx, [ebp - 0x30]
call fcn.0041af60
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x2f
call fcn.004d8ce0
cmp dword [ebp - 0x18], 0x10
jb 0x4df8bc
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x1b
jb 0x4df8db
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00527b8e
add esp, 4
mov eax, str.popcap.dmo
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4df8e3
sub eax, edx
push eax
push str.popcap.dmo
lea ecx, [esi + 0x54c]
call fcn.0041af60
mov byte [esi + 0x549], bl
mov byte [esi + 0x54a], bl
mov byte [esi + 0x548], bl
mov dword [esi + 0x58c], ebx
mov dword [esi + 0x590], ebx
mov dword [esi + 0x594], ebx
mov byte [esi + 0x598], 1
mov byte [esi + 0x5a8], bl
mov dword [esi + 0x588], ebx
mov dword [esi + 0x59c], ebx
mov dword [esi + 0x5a0], 0xffffffff
push 0xb8
mov dword [esi + 0x5a4], ebx
call fcn.005183e0
add esp, 4
mov dword [ebp - 0x50], eax
cmp eax, ebx
mov byte [ebp - 4], 0x30
je 0x4df96c
push esi
mov ecx, eax
call fcn.0048ae10
jmp 0x4df96e
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x614], eax
mov dword [esi + 0x308], ebx
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp + 4]
pop edi
mov dword [0x58e160], esi
mov eax, esi
pop esi
pop ebx
call fcn.00528d83
mov esp, ebp
pop ebp
ret