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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dc2a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
mov eax, dword [0x514eb8]
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.0041de40
mov al, byte [ebp - 0x11]
lea edi, [esi + 0x2f0]
mov ecx, edi
mov byte [ebp - 4], 4
mov byte [edi], al
call fcn.00464960
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.0041fdd0
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x324]
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.0041feb0
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.00449bd0
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.0041fdd0
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.0042bfc0
mov dl, byte [ebp - 0x11]
lea edi, [esi + 0x5ac]
mov ecx, edi
mov byte [ebp - 4], 0x14
mov byte [edi], dl
call fcn.00464960
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.004648c0
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.00420190
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.00449c10
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.00449c10
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.00420250
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.00464920
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 [0x54d7d8], esi
call edi
push str.ddraw.dll
mov dword [0x54d7e4], eax
call edi
mov dword [0x54d7dc], eax
push str.dsound.dll
call edi
push str.GetLastInputInfo
push str.user32.dll
mov dword [0x54d7e0], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x54d7e8], eax
mov dword [esi + 0xbc], ebx
mov byte [esi + 0xc0], 1
mov dword [esi + 0xc4], ebx
mov eax, dword [0x5123f8]
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.004c6620
lea edx, [ebp - 0x5c]
push edx
call fcn.004c38f5
add esp, 0x10
cmp eax, ebx
mov dword [esi + 0x9c], eax
je 0x4765f6
mov edx, dword [0x5123f8]
add edx, 8
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4765e0
sub eax, edi
push eax
push edx
lea ecx, [esi + 0xa0]
call fcn.004025c3
push 0x100
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 0x476620
sub eax, edx
push eax
lea ecx, [ebp - 0x160]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x4c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.00469860
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x3c0]
mov byte [ebp - 4], 0x1d
call fcn.004024d0
mov eax, dword [ebp - 0x34]
mov edi, 0x10
cmp eax, edi
jb 0x476677
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.004c2b1b
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 0x476699
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004c2b1b
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 0x4766c0
sub eax, edx
push eax
push str.Product
lea ecx, [esi + 8]
call fcn.004025c3
mov eax, str.SexyApp
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4766e0
sub eax, edi
push eax
push str.SexyApp
lea ecx, [esi + 0x24]
call fcn.004025c3
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 dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x318], ebx
mov dword [esi + 0x320], 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 + 0x30f], bl
mov byte [esi + 0x310], bl
mov byte [esi + 0x504], 1
mov byte [esi + 0x338], bl
call fcn.004b18e0
add esp, 4
mov dword [ebp - 0x50], eax
cmp eax, ebx
mov byte [ebp - 4], 0x1e
je 0x47684f
mov ecx, eax
call fcn.004209c0
jmp 0x476851
xor eax, eax
push 0x538
mov byte [ebp - 4], 0x1b
mov dword [esi + 0x334], eax
call fcn.004b18e0
add esp, 4
mov dword [ebp - 0x50], eax
cmp eax, ebx
mov byte [ebp - 4], 0x1f
je 0x47687c
mov ecx, eax
call fcn.00434970
jmp 0x47687e
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 + 0x311], 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 0x4768d3
sub eax, edi
push eax
push str.ingame
lea ecx, [esi + 0x384]
call fcn.004025c3
mov ecx, 0x33333333
mov eax, 0x3feb3333
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 dword [esi + 0x5b8], ebx
mov dword [esi + 0x518], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x50c], eax
mov ecx, 6
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 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
lea ecx, [ecx]
mov byte [esi + eax + 0xe9], al
inc eax
cmp eax, 0x100
jl 0x4769d0
or eax, 0xffffffff
lea edi, [esi + 0x1e9]
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, 0x4e62a0
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 0x476a04
sub eax, edi
push eax
push 0x4e62a0
lea ecx, [ebp - 0x4c]
call fcn.004025c3
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 0x476a35
sub eax, edx
push eax
push str.DIALOG_BUTTON_OK
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476a71
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004c2b1b
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 0x476a90
mov eax, dword [ebp - 0x48]
push eax
call fcn.004c2b1b
add esp, 4
mov eax, 0x4e4374
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 0x476aa1
sub eax, edx
push eax
push 0x4e4374
lea ecx, [ebp - 0x4c]
call fcn.004025c3
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 0x476ad0
sub eax, edx
push eax
push str.DIALOG_BUTTON_CANCEL
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x23
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476b0c
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004c2b1b
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 0x476b2b
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.004c2b1b
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 0x476b40
sub eax, edx
push eax
push str.Update_Check
lea ecx, [ebp - 0x4c]
call fcn.004025c3
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 0x476b70
sub eax, edx
push eax
push str.UPDATE_CHECK_TITLE
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x25
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476bac
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004c2b1b
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 0x476bcb
mov edx, dword [ebp - 0x48]
push edx
call fcn.004c2b1b
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 0x476be0
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.004025c3
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 0x476c10
sub eax, edx
push eax
push str.UPDATE_CHECK_BODY
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476c4c
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004c2b1b
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 0x476c6b
mov eax, dword [ebp - 0x48]
push eax
call fcn.004c2b1b
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 0x476c80
sub eax, edx
push eax
push str.Up_to_Date
lea ecx, [ebp - 0x4c]
call fcn.004025c3
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 0x476cb0
sub eax, edx
push eax
push str.UP_TO_DATE_TITLE
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x29
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476cec
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004c2b1b
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 0x476d0b
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.004c2b1b
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 0x476d20
sub eax, edx
push eax
push str.There_are_no_updates_available_for_this_product_at_this_time.
lea ecx, [ebp - 0x4c]
call fcn.004025c3
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 0x476d50
sub eax, edx
push eax
push str.UP_TO_DATE_BODY
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476d8c
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004c2b1b
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 0x476dab
mov edx, dword [ebp - 0x48]
push edx
call fcn.004c2b1b
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 0x476dc0
sub eax, edx
push eax
push str.New_Version
lea ecx, [ebp - 0x4c]
call fcn.004025c3
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 0x476df0
sub eax, edx
push eax
push str.NEW_VERSION_TITLE
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x2d
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476e2c
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004c2b1b
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 0x476e4b
mov eax, dword [ebp - 0x48]
push eax
call fcn.004c2b1b
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 0x476e60
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.004025c3
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 0x476e90
sub eax, edx
push eax
push str.NEW_VERSION_BODY
lea ecx, [ebp - 0x30]
call fcn.004025c3
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x2f
call fcn.00471180
cmp dword [ebp - 0x18], 0x10
jb 0x476ecc
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004c2b1b
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 0x476eeb
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.004c2b1b
add esp, 4
mov eax, str.popcap.dmo
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x476ef3
sub eax, edx
push eax
push str.popcap.dmo
lea ecx, [esi + 0x54c]
call fcn.004025c3
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.004b18e0
add esp, 4
mov dword [ebp - 0x50], eax
cmp eax, ebx
mov byte [ebp - 4], 0x30
je 0x476f7c
push esi
mov ecx, eax
call fcn.00430430
jmp 0x476f7e
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 [0x5173b8], esi
mov eax, esi
pop esi
pop ebx
call fcn.004c478a
mov esp, ebp
pop ebp
ret