Function at 0x466f30
Capabilities:
Check for time delay via gettickcount
Get number of processors
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x5c8bee
mov eax, dword fs:[0]
push eax
sub esp, 0x14c
mov eax, dword [0x61a654]
xor eax, esp
mov dword [esp + 0x148], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x61a654]
xor eax, esp
push eax
lea eax, [esp + 0x160]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esi + 4], 0x5dbf08
mov dword [esi], 0x5dd04c
mov dword [esi + 4], 0x5dd03c
xor ebx, ebx
mov edi, 0xf
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], ebx
mov dword [esp + 0x54], esi
mov byte [esi + 0x10], bl
mov dword [esi + 0x40], edi
mov dword [esi + 0x3c], ebx
mov dword [esp + 0x168], ebx
mov byte [esi + 0x2c], bl
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], ebx
mov byte [esi + 0x48], bl
xor eax, eax
mov dword [esi + 0x78], 7
mov dword [esi + 0x74], ebx
mov word [esi + 0x64], ax
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], ebx
mov byte [esi + 0x80], bl
mov dword [esi + 0xb0], edi
mov dword [esi + 0xac], ebx
mov byte [esi + 0x9c], bl
lea ecx, [esi + 0x104]
mov byte [esp + 0x168], 5
call fcn.00468af0
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x324]
push eax
mov byte [esp + 0x170], 6
call fcn.00588fa0
lea ecx, [esi + 0x344]
mov byte [esp + 0x168], 7
call fcn.00569e40
lea ecx, [esi + 0x380]
mov byte [esp + 0x168], 8
call fcn.004536a0
mov dword [esi + 0x3c8], edi
mov dword [esi + 0x3c4], ebx
mov byte [esi + 0x3b4], bl
lea ebp, [esi + 0x3cc]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], bl
mov dword [esi + 0x43c], edi
mov dword [esi + 0x438], ebx
mov byte [esi + 0x428], bl
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x46c]
push eax
mov byte [esp + 0x170], 0xc
call fcn.004a3140
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x48c]
push eax
mov byte [esp + 0x170], 0xd
call fcn.00585ff0
lea ecx, [esi + 0x51c]
mov byte [esp + 0x168], 0xe
call fcn.00581730
mov dword [esi + 0x594], edi
mov dword [esi + 0x590], ebx
mov byte [esi + 0x580], bl
mov dword [esi + 0x5b0], edi
mov dword [esi + 0x5ac], ebx
mov byte [esi + 0x59c], bl
lea ecx, [esi + 0x5b4]
mov byte [esp + 0x168], 0x11
call fcn.00477280
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x600]
push eax
mov byte [esp + 0x170], 0x12
call fcn.00588fa0
lea ecx, [esi + 0x624]
mov byte [esp + 0x168], 0x13
call fcn.0055bbe0
lea ecx, [esi + 0x680]
mov byte [esp + 0x168], 0x14
mov dword [esi + 0x66c], ebx
mov dword [esi + 0x670], ebx
mov dword [esi + 0x674], ebx
mov dword [esi + 0x678], ebx
call fcn.00468df0
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x688]
push eax
call fcn.0046dec0
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x6a8]
push eax
mov byte [esp + 0x170], 0x15
call fcn.005818b0
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x6c8]
push eax
mov byte [esp + 0x170], 0x16
call fcn.005818b0
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x6e8]
push eax
mov byte [esp + 0x170], 0x17
call fcn.004561b0
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0x1b]
lea ecx, [esi + 0x708]
push eax
mov byte [esp + 0x170], 0x18
call fcn.00456240
push str.version.dll
mov byte [esp + 0x16c], 0x19
mov dword [0x620598], esi
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [0x6205a4], eax
push str.ddraw.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
push str.dsound.dll
mov dword [0x62059c], eax
call dword [sym.imp.kernel32.dll_LoadLibraryA]
push str.GetLastInputInfo
push str.user32.dll
mov dword [0x6205a0], eax
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x6205a8], eax
call fcn.004caed0
push 0x100
lea ecx, [esp + 0x5c]
push ecx
push ebx
mov dword [esi + 0xf8], ebx
mov dword [esi + 0x100], ebx
mov byte [esi + 0xfc], 1
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
lea eax, [esp + 0x58]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x467270
sub eax, ecx
push eax
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x20]
call fcn.00401590
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
mov byte [esp + 0x170], 0x1a
call fcn.00457af0
push 0xffffffffffffffff
push ebx
push eax
mov ecx, ebp
mov byte [esp + 0x174], 0x1b
call fcn.00401620
mov ebp, 0x10
cmp dword [esp + 0x4c], ebp
jb 0x4672cc
mov edx, dword [esp + 0x38]
push edx
call fcn.0059e6bb
add esp, 4
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x30], ebp
jb 0x4672f3
mov eax, dword [esp + 0x1c]
push eax
call fcn.0059e6bb
add esp, 4
lea eax, [esp + 0x58]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x467306
sub eax, edx
push eax
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x20]
call fcn.00401590
push ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x174], 0x1c
call fcn.004720d0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x98]
mov byte [esp + 0x174], 0x1d
call fcn.00401620
cmp dword [esp + 0x4c], ebp
jb 0x467363
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0059e6bb
add esp, 4
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x30], ebp
jb 0x46738a
mov edx, dword [esp + 0x1c]
push edx
call fcn.0059e6bb
add esp, 4
mov ebp, dword [sym.imp.kernel32.dll_GetTickCount]
mov byte [esi + 0x39c], bl
mov byte [esi + 0x39d], 1
call ebp
push 7
push str.Product
lea ecx, [esi + 0x44]
mov dword [esi + 0x370], eax
mov byte [esi + 0x364], bl
call fcn.00401590
push 7
push str.SexyApp
lea ecx, [esi + 0x60]
call fcn.0040bf20
fldz
fst qword [esi + 0x4c0]
or eax, 0xffffffff
fstp qword [esi + 0x4c8]
mov byte [esi + 0x365], bl
fld1
mov byte [esi + 0x366], bl
fstp qword [esi + 0x4f0]
mov dword [esi + 0xc0], 0x400
mov dword [esi + 0xc4], 0x300
mov dword [esi + 0xc8], 0x20
mov byte [esi + 0x367], bl
mov byte [esi + 0x368], 1
mov byte [esi + 0x369], bl
mov dword [esi + 0xb8], eax
mov dword [esi + 0xbc], eax
mov byte [esi + 0x37c], bl
mov byte [esi + 0x37d], 1
mov dword [esi + 0x374], ebx
mov dword [esi + 0x3a0], ebx
mov dword [esi + 0x3a8], ebx
mov dword [esi + 0x378], ebx
mov dword [esi + 0x4b4], 0xa
mov dword [esi + 0x4b0], ebx
mov dword [esi + 0x4e0], ebx
mov dword [esi + 0x4dc], ebx
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], ebx
mov dword [esi + 0x4ec], ebx
mov byte [esi + 0x4ba], 1
mov byte [esi + 0x4b8], bl
mov byte [esi + 0x4b9], bl
mov dword [esi + 0x4d0], ebx
mov byte [esi + 0x4f8], bl
mov dword [esi + 0x4fc], ebx
mov byte [esi + 0x500], bl
mov byte [esi + 0x501], bl
mov dword [esi + 0x510], ebx
mov byte [esi + 0x538], bl
mov byte [esi + 0x539], bl
mov byte [esi + 0x53a], 1
mov byte [esi + 0x36d], bl
mov byte [esi + 0x53b], bl
mov byte [esi + 0x53c], bl
mov byte [esi + 0x53d], bl
mov byte [esi + 0x567], bl
mov byte [esi + 0x568], bl
mov byte [esi + 0x569], bl
mov byte [esi + 0x565], bl
mov byte [esi + 0x564], 1
mov byte [esi + 0x566], bl
mov byte [esi + 0x56a], bl
mov dword [esi + 0x570], ebx
mov dword [esi + 0x574], ebx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x504], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x508], eax
mov byte [esi + 0x56b], 1
mov byte [esi + 0x36a], bl
mov byte [esi + 0x36b], bl
mov byte [esi + 0x53e], bl
mov byte [esi + 0x56c], bl
mov byte [esi + 0x56d], bl
mov dword [esi + 0x41c], ebx
mov byte [esi + 0x420], bl
mov byte [esi + 0x36c], bl
fld qword [str.333333]
mov byte [esi + 0x56e], 1
fst qword [esi + 0xd0]
mov byte [esi + 0x3ac], bl
fstp qword [esi + 0xd8]
mov byte [esi + 0xf2], bl
fldz
mov byte [esi + 0xf3], bl
fst qword [esi + 0xe8]
mov byte [esi + 0x642], bl
fstp qword [esi + 0xe0]
mov byte [esi + 0x643], bl
mov dword [esi + 0x50c], ebx
mov byte [esi + 0x4ac], bl
mov byte [esi + 0xf4], 1
mov byte [esi + 0xf5], 1
mov byte [esi + 0x641], bl
mov dword [esi + 0x460], ebx
mov dword [esi + 0x464], ebx
mov byte [esi + 0x468], bl
mov byte [esi + 0x469], 1
mov dword [esi + 0x620], ebx
mov dword [esi + 0x550], ebx
call ebp
mov dword [esi + 0x544], eax
mov dword [esi + 0x548], ebx
mov dword [esi + 0x554], ebx
mov dword [esi + 0x54c], ebx
mov byte [esi + 0x558], bl
mov dword [esi + 0x55c], ebx
mov dword [esi + 0x540], ebx
mov dword [esi + 0x560], ebx
mov byte [esi + 0x3a4], bl
mov byte [esi + 0x640], bl
mov dword [esi + 0x72c], ebx
mov byte [esi + 0xf0], bl
mov byte [esi + 0xf1], bl
mov dword [esi + 0x644], 0x64
mov byte [esi + 0x648], bl
mov byte [esi + 0x649], bl
mov dword [esi + 0x64c], ebx
mov dword [esi + 0x650], ebx
mov dword [esi + 0x654], ebx
mov byte [esi + 0x658], bl
mov byte [esi + 0x659], 1
mov byte [esi + 0x65a], bl
mov byte [esi + 0x65b], 1
mov byte [esi + 0x65c], 1
mov dword [esi + 0x660], 6
mov dword [esi + 0x664], 0xe
mov dword [esi + 0xb4], ebx
push 3
mov byte [esi + 0x668], bl
push 4
lea ecx, [esi + 0x680]
mov byte [esi + 0x67c], bl
call fcn.00468e00
mov byte [esi + 0x56f], bl
mov dword [esi + 0x3e8], ebx
mov dword [esi + 0x3ec], ebx
mov dword [esi + 0x3f0], ebx
mov dword [esi + 0x3f4], ebx
mov dword [esi + 0x3f8], ebx
mov dword [esi + 0x3fc], ebx
mov dword [esi + 0x400], ebx
mov dword [esi + 0x404], ebx
mov dword [esi + 0x408], ebx
mov dword [esi + 0x40c], ebx
mov dword [esi + 0x410], ebx
mov dword [esi + 0x414], ebx
mov dword [esi + 0x418], ebx
xor eax, eax
jmp 0x467720
mov byte [esi + eax + 0x11d], al
inc eax
cmp eax, 0x100
jl 0x467720
push 0x100
lea eax, [esi + 0x21d]
push 0xff
push eax
call fcn.005a06a0
add esp, 0xc
push 2
xor eax, eax
push 0x5dd4b8
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], ax
call fcn.0040bf20
mov ebp, 0x10
push ebp
push str.DIALOG_BUTTON_OK
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x1e
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x170], 0x1f
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x4677bf
mov eax, dword [esp + 0x1c]
push eax
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x4677e7
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0059e6bb
add esp, 4
push 6
xor edx, edx
push 0x5dd494
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], dx
call fcn.0040bf20
push 0x14
push str.DIALOG_BUTTON_CANCEL
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x20
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
mov byte [esp + 0x170], 0x21
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x46785a
mov edx, dword [esp + 0x1c]
push edx
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x467882
mov eax, dword [esp + 0x38]
push eax
call fcn.0059e6bb
add esp, 4
xor ecx, ecx
push 0xc
mov word [esp + 0x3c], cx
push str.Update_Check
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
call fcn.0040bf20
push 0x12
push str.UPDATE_CHECK_TITLE
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x22
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
mov byte [esp + 0x170], 0x23
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x4678f5
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x46791d
mov edx, dword [esp + 0x38]
push edx
call fcn.0059e6bb
add esp, 4
push 0x40
xor eax, eax
push str.Checking_if_there_are_any_updates_available_for_this_product_...
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], ax
call fcn.0040bf20
push 0x11
push str.UPDATE_CHECK_BODY
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x24
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x170], 0x25
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x467990
mov eax, dword [esp + 0x1c]
push eax
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x4679b8
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0059e6bb
add esp, 4
push 0xa
xor edx, edx
push str.Up_to_Date
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], dx
call fcn.0040bf20
push ebp
push str.UP_TO_DATE_TITLE
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x26
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
mov byte [esp + 0x170], 0x27
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x467a2a
mov edx, dword [esp + 0x1c]
push edx
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x467a52
mov eax, dword [esp + 0x38]
push eax
call fcn.0059e6bb
add esp, 4
xor ecx, ecx
push 0x3d
mov word [esp + 0x3c], cx
push str.There_are_no_updates_available_for_this_product_at_this_time.
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
call fcn.0040bf20
push edi
push str.UP_TO_DATE_BODY
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x28
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
mov byte [esp + 0x170], 0x29
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x467ac4
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x467aec
mov edx, dword [esp + 0x38]
push edx
call fcn.0059e6bb
add esp, 4
push 0xb
xor eax, eax
push str.New_Version
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], ax
call fcn.0040bf20
push 0x11
push str.NEW_VERSION_TITLE
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x2a
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x170], 0x2b
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x467b5f
mov eax, dword [esp + 0x1c]
push eax
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x467b87
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0059e6bb
add esp, 4
push 0x64
xor edx, edx
push str.There_is_an_update_available_for_this_product.__Would_you_like_to_visit_the_web_site_to_download_it_
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], dx
call fcn.0040bf20
push ebp
push str.NEW_VERSION_BODY
lea ecx, [esp + 0x20]
mov byte [esp + 0x170], 0x2c
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401590
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
mov byte [esp + 0x170], 0x2d
call fcn.0045f6c0
cmp dword [esp + 0x30], ebp
jb 0x467bf9
mov edx, dword [esp + 0x1c]
push edx
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x168], 0x19
jb 0x467c21
mov eax, dword [esp + 0x38]
push eax
call fcn.0059e6bb
add esp, 4
push 7
lea edi, [esi + 0x57c]
push str.sexyapp
mov ecx, edi
call fcn.00401590
push str..dmo
lea ecx, [esp + 0x38]
push edi
push ecx
call fcn.00456db0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x598]
mov byte [esp + 0x174], 0x2e
call fcn.00401620
mov byte [esp + 0x168], 0x19
cmp dword [esp + 0x4c], ebp
jb 0x467c7a
mov edx, dword [esp + 0x38]
push edx
call fcn.0059e6bb
add esp, 4
mov byte [esi + 0x579], bl
mov byte [esi + 0x57a], bl
mov byte [esi + 0x578], bl
mov dword [esi + 0x5e0], ebx
mov dword [esi + 0x5e4], ebx
mov dword [esi + 0x5e8], ebx
mov byte [esi + 0x5ec], 1
mov byte [esi + 0x5fc], bl
mov dword [esi + 0x5dc], ebx
mov dword [esi + 0x5f0], ebx
mov dword [esi + 0x5f4], 0xffffffff
push 0x224
mov dword [esi + 0x5f8], ebx
call fcn.0059e72d
add esp, 4
mov dword [esp + 0x50], eax
mov byte [esp + 0x168], 0x2f
cmp eax, ebx
je 0x467cee
push esi
mov ecx, eax
call fcn.004c6f20
jmp 0x467cf0
xor eax, eax
push 0x130
mov byte [esp + 0x16c], 0x19
mov dword [esi + 0x320], eax
call fcn.0059e72d
add esp, 4
mov dword [esp + 0x50], eax
mov byte [esp + 0x168], 0x30
cmp eax, ebx
je 0x467d25
push esi
mov ecx, eax
call fcn.00483330
jmp 0x467d27
xor eax, eax
mov dword [esi + 0x728], eax
push 0x56
mov dword [esi + 0x360], ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
mov eax, esi
je 0x467d50
mov byte [esi + 0x39e], 1
mov byte [esi + 0x39d], bl
jmp 0x467d56
mov byte [esi + 0x39e], bl
mov dword [0x620af0], esi
mov ecx, dword [esp + 0x160]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x148]
xor ecx, esp
call fcn.0059e619
add esp, 0x158
ret