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

Disassembly:
push 0xffffffffffffffff
push 0x651566
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x6af168]
xor eax, esp
mov dword [esp + 0x14c], eax
push ebx
push ebp
push esi
mov eax, dword [0x6af168]
xor eax, esp
push eax
lea eax, [esp + 0x160]
mov dword fs:[0], eax
mov dword [edi + 4], vtable.Sexy::DialogListener.0
mov dword [edi], vtable.Sexy::SexyAppBase.1.0
mov dword [edi + 4], vtable.Sexy::SexyAppBase.0
xor ebx, ebx
mov ebp, 0xf
mov dword [edi + 0x24], ebp
mov dword [edi + 0x20], ebx
mov dword [esp + 0x50], edi
mov byte [edi + 0x10], bl
mov dword [esp + 0x168], ebx
mov dword [edi + 0x40], ebp
mov dword [edi + 0x3c], ebx
mov byte [edi + 0x2c], bl
mov dword [edi + 0x5c], ebp
mov dword [edi + 0x58], ebx
mov byte [edi + 0x48], bl
mov dword [edi + 0x78], ebp
mov dword [edi + 0x74], ebx
mov byte [edi + 0x64], bl
mov dword [edi + 0x94], ebp
mov dword [edi + 0x90], ebx
mov byte [edi + 0x80], bl
mov dword [edi + 0xb0], ebp
mov dword [edi + 0xac], ebx
mov byte [edi + 0x9c], bl
lea esi, [edi + 0x104]
call fcn.004e6000
mov byte [esp + 0x168], 6
call fcn.005567f0
mov dword [edi + 0x328], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 0x328]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x328]
mov dword [eax], eax
mov eax, dword [edi + 0x328]
mov dword [eax + 8], eax
mov dword [edi + 0x32c], ebx
mov byte [esp + 0x168], 7
call fcn.00552e90
mov dword [edi + 0x334], eax
mov dword [edi + 0x338], ebx
mov byte [esp + 0x168], 8
call fcn.00552eb0
mov dword [edi + 0x360], eax
mov dword [edi + 0x364], ebx
mov dword [edi + 0x394], ebp
mov dword [edi + 0x390], ebx
mov byte [edi + 0x380], bl
mov dword [edi + 0x3b0], ebp
mov dword [edi + 0x3ac], ebx
mov byte [edi + 0x39c], bl
mov dword [edi + 0x408], ebp
mov dword [edi + 0x404], ebx
mov byte [edi + 0x3f4], bl
mov byte [esp + 0x168], 0xc
call fcn.0053d720
mov dword [edi + 0x438], eax
mov byte [eax + 0x11], 1
mov eax, dword [edi + 0x438]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x438]
mov dword [eax], eax
mov eax, dword [edi + 0x438]
mov dword [eax + 8], eax
mov dword [edi + 0x43c], ebx
mov byte [esp + 0x168], 0xd
call fcn.00556830
mov dword [edi + 0x444], eax
mov byte [eax + 0x4d], 1
mov eax, dword [edi + 0x444]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x444]
mov dword [eax], eax
mov eax, dword [edi + 0x444]
mov dword [eax + 8], eax
mov dword [edi + 0x448], ebx
mov byte [esp + 0x168], 0xe
call fcn.005531c0
mov dword [edi + 0x4c4], eax
mov dword [edi + 0x4c8], ebx
mov dword [edi + 0x52c], ebp
mov dword [edi + 0x528], ebx
mov byte [edi + 0x518], bl
mov dword [edi + 0x548], ebp
mov dword [edi + 0x544], ebx
mov byte [edi + 0x534], bl
lea eax, [edi + 0x54c]
mov byte [esp + 0x168], 0x11
call fcn.005653c0
lea esi, [edi + 0x590]
mov ecx, esi
mov byte [esp + 0x168], 0x12
call fcn.0060c410
mov dword [esi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 8], eax
mov dword [esi + 8], ebx
mov byte [esp + 0x168], 0x13
call fcn.005534e0
mov dword [edi + 0x5a4], eax
mov dword [edi + 0x5a8], ebx
mov byte [esp + 0x168], 0x14
lea eax, [edi + 0x5f0]
mov dword [edi + 0x5dc], ebx
mov dword [edi + 0x5e0], ebx
mov dword [edi + 0x5e4], ebx
mov dword [edi + 0x5e8], ebx
call fcn.004f19a0
call fcn.004fa920
mov dword [edi + 0x5fc], eax
mov byte [eax + 0x45], 1
mov eax, dword [edi + 0x5fc]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x5fc]
mov dword [eax], eax
mov eax, dword [edi + 0x5fc]
mov dword [eax + 8], eax
mov dword [edi + 0x600], ebx
mov byte [esp + 0x168], 0x15
call fcn.004fbb60
mov dword [edi + 0x608], eax
mov byte [eax + 0x2d], 1
mov eax, dword [edi + 0x608]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x608]
mov dword [eax], eax
mov eax, dword [edi + 0x608]
mov dword [eax + 8], eax
mov dword [edi + 0x60c], ebx
mov byte [esp + 0x168], 0x16
call fcn.0048c4c0
mov dword [edi + 0x614], eax
mov byte [eax + 0x2d], 1
mov eax, dword [edi + 0x614]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x614]
mov dword [eax], eax
mov eax, dword [edi + 0x614]
mov dword [eax + 8], eax
mov dword [edi + 0x618], ebx
mov byte [esp + 0x168], 0x17
call fcn.00556ea0
mov dword [edi + 0x620], eax
mov byte [eax + 0x39], 1
mov eax, dword [edi + 0x620]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x620]
mov dword [eax], eax
mov eax, dword [edi + 0x620]
mov dword [eax + 8], eax
mov dword [edi + 0x624], ebx
mov byte [esp + 0x168], 0x18
call fcn.00557210
mov dword [edi + 0x62c], eax
mov byte [eax + 0x39], 1
mov eax, dword [edi + 0x62c]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x62c]
mov dword [eax], eax
mov eax, dword [edi + 0x62c]
mov dword [eax + 8], eax
mov dword [edi + 0x630], ebx
mov byte [esp + 0x168], 0x19
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.version.dll
mov dword [0x6b9d90], edi
call esi
push str.ddraw.dll
mov dword [0x6b9d9c], eax
call esi
push str.dsound.dll
mov dword [0x6b9d94], eax
call esi
push str.GetLastInputInfo
push str.user32.dll
mov dword [0x6b9d98], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x6b9da0], eax
call fcn.005d7460
push 0x100
lea eax, [esp + 0x58]
push eax
push ebx
mov dword [edi + 0xf8], ebx
mov dword [edi + 0x100], ebx
mov byte [edi + 0xfc], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x54]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x53fc00
sub eax, esi
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402300
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov byte [esp + 0x170], 0x1a
call fcn.00542300
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x398]
mov byte [esp + 0x174], 0x1b
call fcn.00401d10
mov esi, 0x10
cmp dword [esp + 0x48], esi
jb 0x53fc62
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x2c], esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
jb 0x53fc89
mov edx, dword [esp + 0x18]
push edx
call fcn.0062493b
add esp, 4
lea eax, [esp + 0x54]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x53fca0
sub eax, edx
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x1c]
call fcn.00402300
push ebx
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x174], 0x1c
call fcn.004e7740
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x98]
mov byte [esp + 0x174], 0x1d
call fcn.00401d10
cmp dword [esp + 0x48], esi
jb 0x53fcff
mov eax, dword [esp + 0x34]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x2c], esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
jb 0x53fd26
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0062493b
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [edi + 0x368], bl
mov byte [edi + 0x369], 1
call esi
push 7
push str.Product
lea ecx, [edi + 0x44]
mov dword [edi + 0x34c], eax
mov byte [edi + 0x340], bl
call fcn.00402300
push 7
push str.SexyApp
lea ecx, [edi + 0x60]
call fcn.00402300
fldz
fst qword [edi + 0x460]
or eax, 0xffffffff
fstp qword [edi + 0x468]
mov byte [edi + 0x341], bl
mov byte [edi + 0x342], bl
mov dword [edi + 0xc0], 0x280
mov dword [edi + 0xc4], 0x1e0
mov dword [edi + 0xc8], 0x10
mov byte [edi + 0x343], 1
mov byte [edi + 0x344], 1
mov byte [edi + 0x345], bl
mov dword [edi + 0xb8], eax
mov dword [edi + 0xbc], eax
mov byte [edi + 0x358], bl
mov byte [edi + 0x359], 1
mov dword [edi + 0x350], ebx
mov dword [edi + 0x36c], ebx
mov dword [edi + 0x374], ebx
mov dword [edi + 0x354], ebx
mov dword [edi + 0x454], 0xa
mov dword [edi + 0x450], ebx
mov dword [edi + 0x480], ebx
mov dword [edi + 0x47c], ebx
mov dword [edi + 0x484], ebx
mov dword [edi + 0x488], ebx
mov dword [edi + 0x48c], ebx
mov byte [edi + 0x45a], 1
mov byte [edi + 0x458], bl
mov byte [edi + 0x459], bl
mov dword [edi + 0x470], ebx
fld qword [0x665830]
fstp qword [edi + 0x490]
mov byte [edi + 0x498], bl
mov dword [edi + 0x49c], ebx
mov byte [edi + 0x4a0], bl
mov byte [edi + 0x4a1], bl
mov dword [edi + 0x4b4], ebx
mov dword [edi + 0x4b0], ebx
mov byte [edi + 0x4cc], bl
mov byte [edi + 0x4cd], bl
mov byte [edi + 0x4ce], 1
mov byte [edi + 0x349], bl
mov byte [edi + 0x4cf], bl
mov byte [edi + 0x4d0], bl
mov byte [edi + 0x4d1], bl
mov byte [edi + 0x4fb], bl
mov byte [edi + 0x4fc], bl
mov byte [edi + 0x4fd], bl
mov byte [edi + 0x4f9], bl
mov byte [edi + 0x4f8], 1
mov byte [edi + 0x4fa], bl
mov byte [edi + 0x4fe], bl
mov dword [edi + 0x508], ebx
mov dword [edi + 0x50c], ebx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x4a4], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x4a8], eax
mov byte [edi + 0x4ff], 1
mov byte [edi + 0x346], bl
mov byte [edi + 0x347], bl
mov byte [edi + 0x4d2], 1
mov byte [edi + 0x500], bl
mov byte [edi + 0x501], bl
mov dword [edi + 0x3e8], ebx
mov byte [edi + 0x3ec], bl
fld qword [0x687038]
mov byte [edi + 0x348], bl
fst qword [edi + 0xd0]
mov byte [edi + 0x502], 1
fstp qword [edi + 0xd8]
mov byte [edi + 0x378], bl
fldz
mov byte [edi + 0xf2], bl
fst qword [edi + 0xe8]
mov byte [edi + 0xf3], bl
fstp qword [edi + 0xe0]
mov byte [edi + 0x5ae], bl
mov byte [edi + 0x5af], bl
mov byte [edi + 0x5b0], 1
mov dword [edi + 0x4ac], ebx
mov byte [edi + 0x44c], bl
mov byte [edi + 0xf4], 1
mov byte [edi + 0xf5], 1
mov byte [edi + 0x5ad], bl
mov byte [edi + 0x504], 1
mov byte [edi + 0x505], bl
mov dword [edi + 0x428], ebx
mov dword [edi + 0x42c], ebx
mov byte [edi + 0x430], bl
mov byte [edi + 0x431], 1
mov dword [edi + 0x59c], ebx
mov dword [edi + 0x4e4], ebx
call esi
mov dword [edi + 0x4d8], eax
mov dword [edi + 0x4dc], ebx
mov dword [edi + 0x4e8], ebx
mov dword [edi + 0x4e0], ebx
mov byte [edi + 0x4ec], bl
mov dword [edi + 0x4f0], ebx
mov dword [edi + 0x4d4], ebx
mov dword [edi + 0x4f4], ebx
mov byte [edi + 0x370], bl
mov byte [edi + 0x5ac], bl
mov dword [edi + 0x638], ebx
mov byte [edi + 0xf0], bl
mov byte [edi + 0xf1], bl
mov dword [edi + 0x5b4], 0x64
mov byte [edi + 0x5b8], bl
mov byte [edi + 0x5b9], bl
mov dword [edi + 0x5bc], ebx
mov dword [edi + 0x5c0], ebx
mov dword [edi + 0x5c4], ebx
mov byte [edi + 0x5c8], bl
mov byte [edi + 0x5c9], 1
mov byte [edi + 0x5ca], bl
mov byte [edi + 0x5cb], bl
mov byte [edi + 0x5cc], bl
mov dword [edi + 0x5d0], 6
mov dword [edi + 0x5d4], 0xe
mov dword [edi + 0xb4], ebx
mov byte [edi + 0x5d8], bl
mov byte [edi + 0x5d9], 1
push 4
lea eax, [edi + 0x5f0]
mov byte [edi + 0x5ec], bl
push eax
mov ebx, 3
call fcn.004f19b0
xor ebx, ebx
xor eax, eax
mov byte [edi + 0x503], bl
mov dword [edi + 0x3b4], eax
mov dword [edi + 0x3b8], eax
mov dword [edi + 0x3bc], eax
mov dword [edi + 0x3c0], eax
mov dword [edi + 0x3c4], eax
mov dword [edi + 0x3c8], eax
mov dword [edi + 0x3cc], eax
mov dword [edi + 0x3d0], eax
mov dword [edi + 0x3d4], eax
mov dword [edi + 0x3d8], eax
mov dword [edi + 0x3dc], eax
mov dword [edi + 0x3e0], eax
mov dword [edi + 0x3e4], eax
jmp 0x5400e0
mov byte [edi + eax + 0x11d], al
add eax, 1
cmp eax, 0x100
jl 0x5400e0
push 0x100
lea eax, [edi + 0x21d]
push 0xff
push eax
call fcn.0062a710
add esp, 0xc
push 0xc
push str.Update_Check
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
call fcn.004f83f0
mov byte [esp + 0x168], 0x1e
push 0x12
push str.UPDATE_CHECK_TITLE
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00402300
lea edx, [esp + 0x14]
push edx
push edi
lea esi, [esp + 0x38]
mov byte [esp + 0x170], 0x1f
call fcn.0054e800
cmp dword [esp + 0x2c], 0x10
jb 0x54017a
mov eax, dword [esp + 0x18]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], 8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x5401a2
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
push 0x40
push str.Checking_if_there_are_any_updates_available_for_this_product_...
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
call fcn.004f83f0
mov byte [esp + 0x168], 0x20
push 0x11
push str.UPDATE_CHECK_BODY
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00402300
lea edx, [esp + 0x14]
push edx
push edi
lea esi, [esp + 0x38]
mov byte [esp + 0x170], 0x21
call fcn.0054e800
cmp dword [esp + 0x2c], 0x10
jb 0x540212
mov eax, dword [esp + 0x18]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], 8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x54023a
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
push 0xa
push str.Up_to_Date
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
call fcn.004f83f0
mov byte [esp + 0x168], 0x22
push 0x10
push str.UP_TO_DATE_TITLE
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00402300
lea edx, [esp + 0x14]
push edx
push edi
lea esi, [esp + 0x38]
mov byte [esp + 0x170], 0x23
call fcn.0054e800
cmp dword [esp + 0x2c], 0x10
jb 0x5402aa
mov eax, dword [esp + 0x18]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], 8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x5402d2
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
push 0x3d
push str.There_are_no_updates_available_for_this_product_at_this_time.
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
call fcn.004f83f0
mov byte [esp + 0x168], 0x24
push ebp
push str.UP_TO_DATE_BODY
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00402300
lea edx, [esp + 0x14]
push edx
push edi
lea esi, [esp + 0x38]
mov byte [esp + 0x170], 0x25
call fcn.0054e800
cmp dword [esp + 0x2c], 0x10
jb 0x540341
mov eax, dword [esp + 0x18]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], 8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x540369
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
push 0xb
push str.New_Version
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
call fcn.004f83f0
mov byte [esp + 0x168], 0x26
push 0x11
push str.NEW_VERSION_TITLE
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00402300
lea edx, [esp + 0x14]
push edx
push edi
lea esi, [esp + 0x38]
mov byte [esp + 0x170], 0x27
call fcn.0054e800
cmp dword [esp + 0x2c], 0x10
jb 0x5403d9
mov eax, dword [esp + 0x18]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], 8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x540401
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
push 0x64
push str.There_is_an_update_available_for_this_product.__Would_you_like_to_visit_the_web_site_to_download_it_
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
call fcn.004f83f0
mov byte [esp + 0x168], 0x28
push 0x10
push str.NEW_VERSION_BODY
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00402300
lea edx, [esp + 0x14]
push edx
push edi
lea esi, [esp + 0x38]
mov byte [esp + 0x170], 0x29
call fcn.0054e800
mov esi, 0x10
cmp dword [esp + 0x2c], esi
jb 0x540475
mov eax, dword [esp + 0x18]
push eax
call fcn.0062493b
add esp, 4
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], 8
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x54049d
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062493b
add esp, 4
push 7
lea ebp, [edi + 0x514]
push str.sexyapp
mov ecx, ebp
call fcn.00402300
push 0x680dc8
lea edx, [esp + 0x34]
push ebp
push edx
call fcn.0044cf70
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x530]
mov byte [esp + 0x174], 0x2a
call fcn.00401d10
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x48], esi
jb 0x5404f6
mov eax, dword [esp + 0x34]
push eax
call fcn.0062493b
add esp, 4
mov byte [edi + 0x511], bl
mov byte [edi + 0x512], bl
mov byte [edi + 0x510], bl
mov dword [edi + 0x570], ebx
mov dword [edi + 0x574], ebx
mov dword [edi + 0x578], ebx
mov byte [edi + 0x57c], 1
mov byte [edi + 0x58c], bl
mov dword [edi + 0x56c], ebx
mov dword [edi + 0x580], ebx
mov dword [edi + 0x584], 0xffffffff
push 0x1fc
mov dword [edi + 0x588], ebx
call fcn.00624a6a
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, ebx
mov byte [esp + 0x168], 0x2b
je 0x540569
push edi
push eax
call fcn.0055a1d0
jmp 0x54056b
xor eax, eax
mov byte [esp + 0x168], 0x19
push 0xcc
mov dword [edi + 0x320], eax
call fcn.00624a6a
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, ebx
mov byte [esp + 0x168], 0x2c
je 0x54059f
push edi
push eax
call fcn.004eac20
jmp 0x5405a1
xor eax, eax
mov dword [edi + 0x634], eax
push 0x56
mov dword [edi + 0x33c], ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
mov dword [0x6b9cfc], edi
mov eax, edi
je 0x5405d0
mov byte [edi + 0x36a], 1
mov byte [edi + 0x369], bl
jmp 0x5405d6
mov byte [edi + 0x36a], bl
mov ecx, dword [esp + 0x160]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.00624940
add esp, 0x15c
ret