Function at 0x409225
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4d4
mov eax, dword [0x59099c]
xor eax, esp
mov dword [esp + 0x4d0], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
push 0xffffffffffffffff
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push edi
lea ecx, [esp + 0x148]
call fcn.0040a2a0
lea edi, [esp + 0x144]
call fcn.0040874c
push ebx
push 1
mov ecx, edi
call fcn.0040aca3
push str._popcapdrmprotect_
push 0x5ca468
call fcn.0050b650
push str._popcapdrmprotend_
push 0x5ca5e8
mov byte [0x5ca468], 0x21
call fcn.0050b650
push str._YN00000PACPOPPOPCAPPACPOPPOPCAPBUILDINFOMARKERPACPOPPOPCAPPACPOPPOPCAPXXXXXXXXX
push 0x5ca628
mov byte [0x5ca5e8], 0x21
call fcn.0050b650
add esp, 0x18
mov byte [0x5ca628], 0x44
mov dword [0x5ca5d8], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, 0x592524
push eax
mov ecx, edi
call fcn.0040ae1f
cmp dword [0x592538], ebx
je 0x409360
push ebx
mov ecx, edi
call fcn.0040a50f
push 0x22
pop ecx
cmp word [eax], cx
push 1
lea eax, [esp + 0x1c]
jne 0x40933c
push 1
mov dword [esp + 0x20], ecx
push eax
mov ecx, edi
call fcn.0040aeed
mov esi, eax
cmp esi, 0xffffffff
mov eax, dword [0x592538]
jne 0x40931c
mov esi, eax
lea ecx, [esi + 1]
cmp ecx, eax
mov dword [esp + 0x18], ecx
jae 0x409339
push ecx
mov ecx, edi
call fcn.0040a50f
cmp word [eax], 0x20
jne 0x409339
mov esi, dword [esp + 0x18]
push esi
jmp 0x409358
push ebx
push eax
mov ecx, edi
mov dword [esp + 0x24], 0x20
call fcn.0040aeed
cmp eax, 0xffffffff
jne 0x409357
mov eax, dword [0x592538]
push eax
push ebx
mov ecx, edi
call fcn.0040a44e
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.004783f0
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.0040ad18
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.0040afb1
mov esi, 0x100
lea eax, [esp + 0x3d8]
push esi
push eax
call fcn.0050e1fb
pop ecx
pop ecx
lea eax, [esp + 0x3d8]
push eax
mov ecx, 0x592284
call fcn.0040aa2b
push 0x56
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
setne al
mov byte [0x5eebab], al
call fcn.00476860
push esi
mov esi, 0x5ca4d8
push esi
push dword [esp + 0x2c]
mov byte [0x5eebac], al
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
push 0x408e99
push 0xe
push dword [esp + 0x30]
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
lea eax, [esp + 0x1d0]
push esi
push eax
call fcn.0050b650
lea eax, [esp + 0x1d8]
push 0x5c
push eax
call fcn.00509bb0
mov edi, eax
lea eax, [esp + 0x1e0]
push 0x2f
push eax
call fcn.00509bb0
add esp, 0x18
cmp edi, eax
lea eax, [esp + 0x1d0]
jbe 0x40942a
push 0x5c
jmp 0x40942c
push 0x2f
push eax
call fcn.00509bb0
cmp eax, ebx
pop ecx
pop ecx
je 0x40943a
mov byte [eax], bl
lea eax, [esp + 0x1d0]
push eax
call fcn.0052ecca
lea eax, [esp + 0x1d4]
mov dword [esp], 0x5605a0
push eax
lea ecx, [esp + 0x14c]
call fcn.0040a2a0
push eax
lea eax, [esp + 0x74]
push eax
call fcn.0040dd15
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x5922bc
call fcn.0040a999
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.0040aca3
push ebx
push 1
lea ecx, [esp + 0x14c]
call fcn.0040aca3
lea ecx, [esp + 0xb0]
call fcn.004798a0
lea edi, [esp + 0xb0]
call fcn.004021dd
lea eax, [esp + 0x6c]
push eax
mov ecx, edi
call fcn.00479e40
push 0xffffffffffffffff
push ebx
mov edi, 0x5923f0
push eax
mov ecx, edi
call fcn.0040a999
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.0040aca3
lea ecx, [esp + 0xd4]
call fcn.004798a0
push edi
lea ecx, [esp + 0xd8]
call fcn.00479ce0
call fcn.004053e6
test al, al
je 0x40a25a
call fcn.00405b09
test al, al
je 0x40a25a
call fcn.004056e6
test al, al
je 0x40a25a
call fcn.00405eda
test al, al
je 0x40a25a
push esi
lea ecx, [esp + 0x148]
call fcn.0040a2a0
lea eax, [esp + 0x144]
call fcn.00408859
neg al
sbb al, al
push ebx
inc al
push 1
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1b], al
call fcn.0040aca3
cmp byte [esp + 0x13], bl
je 0x409690
push str.LOCKED
lea ecx, [esp + 0x70]
call fcn.0040a406
push str.PARENTAL_CONTROL_FAIL_TITLE
lea ecx, [esp + 0x164]
call fcn.0040a406
push str.This_program_does_not_have_access_to_run_on_this_computer.__Please_ask_the_administrator_to_set_the_parental_controls_before_playing.
lea ecx, [esp + 0x180]
call fcn.0040a406
push str.PARENTAL_CONTROL_FAIL
lea ecx, [esp + 0x148]
call fcn.0040a406
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x164]
push eax
lea edi, [esp + 0x114]
call fcn.004018d7
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.00477a50
add esp, 0x10
cmp dword [eax + 0x18], 8
jb 0x4095d8
mov esi, dword [eax + 4]
jmp 0x4095db
lea esi, [eax + 4]
lea eax, [esp + 0x17c]
push eax
lea eax, [esp + 0x148]
push eax
lea edi, [esp + 0x130]
call fcn.004018d7
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00477a50
add esp, 0x10
cmp dword [eax + 0x18], 8
jb 0x409610
mov eax, dword [eax + 4]
jmp 0x409613
add eax, 4
push 0x10
push esi
push eax
push ebx
call dword [0x593354]
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [esp + 0x4c]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0x130]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0xf8]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0x114]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0x14c]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0x184]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0x168]
call fcn.0040afb1
push ebx
push esi
lea ecx, [esp + 0x74]
call fcn.0040afb1
jmp 0x40a25a
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.shell32.dll
call esi
cmp eax, ebx
je 0x4096b0
lea ecx, [esp + 0x14]
push ecx
call fcn.004015c6
pop ecx
mov edi, eax
jmp 0x4096b6
mov dword [esp + 0x14], ebx
xor edi, edi
cmp edi, ebx
je 0x4096c0
cmp dword [esp + 0x14], ebx
jne 0x4096e6
push str.shfolder.dll
call esi
cmp eax, ebx
je 0x4096d8
lea ecx, [esp + 0x14]
push ecx
call fcn.004015c6
pop ecx
jmp 0x4096dc
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
je 0x409828
lea eax, [esp + 0x2d0]
push eax
push ebx
push ebx
push 0x23
push ebx
call edi
call fcn.004767b0
test al, al
je 0x4097b2
lea eax, [esp + 0x2d0]
push eax
lea ecx, [esp + 0x70]
call fcn.0040a2a0
push 0x5605a0
push 0x5922d8
push str.PopCap_Games_
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004791d0
pop ecx
pop ecx
push eax
lea eax, [esp + 0x138]
push eax
call fcn.0040dd15
add esp, 0xc
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.0040ded0
add esp, 0xc
push eax
lea eax, [esp + 0x114]
push eax
call fcn.0040dd15
add esp, 0xc
mov ecx, eax
call fcn.0040163d
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [esp + 0x114]
call fcn.0040aca3
push ebx
push esi
lea ecx, [esp + 0xf8]
call fcn.0040aca3
push ebx
push esi
lea ecx, [esp + 0x130]
call fcn.0040aca3
push ebx
push esi
lea ecx, [esp + 0x4c]
call fcn.0040aca3
push ebx
push esi
lea ecx, [esp + 0x74]
call fcn.0040aca3
jmp 0x4097b5
xor esi, esi
inc esi
lea eax, [esp + 0x2d0]
push eax
lea ecx, [esp + 0x70]
call fcn.0040a2a0
push str.PopCap_Games.system_
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.004791d0
pop ecx
pop ecx
push eax
lea eax, [esp + 0x114]
push eax
call fcn.0040dd15
add esp, 0xc
push eax
call fcn.004016c2
pop ecx
push ebx
push esi
lea ecx, [esp + 0x114]
call fcn.0040aca3
push ebx
push esi
lea ecx, [esp + 0xf8]
call fcn.0040aca3
push ebx
push esi
lea ecx, [esp + 0x74]
call fcn.0040aca3
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.0040890d
call fcn.00402681
cmp byte [0x59225b], bl
je 0x409847
mov eax, dword [0x5eeba4]
cmp eax, dword [0x59226c]
jge 0x40984f
cmp byte [0x5eeba8], bl
je 0x40985d
cmp byte [0x5eeb9a], bl
mov byte [0x592274], bl
je 0x409864
mov byte [0x592274], 1
call fcn.004048c3
push str.ProdName
lea ecx, [esp + 0x70]
call fcn.0040a406
push str._DRMMutex
push ecx
lea eax, [esp + 0x74]
push eax
lea ebx, [esp + 0x134]
call fcn.00401931
pop ecx
pop ecx
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.0040dc83
add esp, 0xc
push eax
lea eax, [esp + 0x110]
push eax
call fcn.004785c0
cmp dword [eax + 0x18], 0x10
pop ecx
pop ecx
jb 0x4098bc
mov eax, dword [eax + 4]
jmp 0x4098bf
add eax, 4
push eax
xor edi, edi
inc edi
push edi
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
push ebx
push edi
lea ecx, [esp + 0x114]
mov dword [esp + 0x98], eax
call fcn.0040aca3
push ebx
push edi
lea ecx, [esp + 0xf8]
call fcn.0040afb1
push ebx
push edi
lea ecx, [esp + 0x130]
call fcn.0040afb1
push ebx
push edi
lea ecx, [esp + 0x74]
call fcn.0040afb1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x409920
call fcn.0040909b
jmp 0x40a25a
call fcn.004086bd
lea eax, [esp + 0x1b4]
push eax
call fcn.004015f0
cmp dword [esp + 0x1cc], ebx
pop ecx
jne 0x409950
push 0xffffffffffffffff
push ebx
push 0x5922bc
lea ecx, [esp + 0x1c0]
call fcn.0040a999
lea eax, [esp + 0x144]
push eax
call fcn.00401614
pop ecx
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00477a20
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x5eeee8
call fcn.0040ad18
push ebx
push edi
lea ecx, [esp + 0x4c]
call fcn.0040afb1
push ebx
push edi
lea ecx, [esp + 0x14c]
call fcn.0040aca3
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00477a20
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x5eef04
call fcn.0040ad18
push ebx
push edi
lea ecx, [esp + 0x4c]
call fcn.0040afb1
mov byte [0x5eef20], 1
call fcn.0041a9eb
push str.UpdateSuccessTimeOffset
lea ecx, [esp + 0x148]
call fcn.0040a406
lea eax, [esp + 0x144]
push 0x127500
push eax
call fcn.00401890
pop ecx
pop ecx
push ebx
push edi
lea ecx, [esp + 0x14c]
mov esi, eax
call fcn.0040afb1
push str.UpdateFailedTimeOffset
lea ecx, [esp + 0x148]
call fcn.0040a406
lea eax, [esp + 0x144]
push 0xe10
push eax
call fcn.00401890
pop ecx
pop ecx
push ebx
push edi
lea ecx, [esp + 0x14c]
mov dword [esp + 0x20], eax
call fcn.0040afb1
mov eax, 0x12c
cmp esi, eax
jge 0x409a42
mov esi, eax
cmp dword [esp + 0x18], eax
jge 0x409a4c
mov dword [esp + 0x18], eax
cmp byte [0x5eeb9a], bl
mov eax, dword [esp + 0x18]
mov dword [0x5eeee4], eax
mov dword [0x5eeee0], esi
jne 0x409c0d
cmp byte [0x5eebb4], bl
jne 0x409c0d
push ebx
lea ecx, [esp + 0x164]
mov dword [esp + 0x17c], 0xf
call fcn.0040b7b2
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0x168]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
call fcn.00402a56
test al, al
pop ecx
pop ecx
je 0x409bde
push dword [esp + 0x18]
push ebx
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x409bde
mov ebx, dword [esp + 0x18]
lea edi, [esp + 0x144]
call fcn.004017c5
mov eax, esi
push eax
lea eax, [esp + 0x180]
push eax
call fcn.00477880
mov esi, eax
mov eax, edi
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00477880
add esp, 0x10
push esi
mov ecx, eax
call fcn.0040a387
mov ebx, eax
neg ebx
sbb bl, bl
xor edi, edi
push edi
push 1
lea ecx, [esp + 0x4c]
inc bl
call fcn.0040aca3
push edi
push 1
lea ecx, [esp + 0x184]
call fcn.0040aca3
test bl, bl
je 0x409bc0
push edi
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
cmp byte [0x5eebb6], 0
je 0x409b93
call fcn.004767b0
test al, al
je 0x409b93
lea eax, [esp + 0x160]
push eax
lea eax, [esp + 0x180]
push eax
call fcn.004015f0
pop ecx
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.0040ded0
add esp, 0xc
mov esi, eax
call fcn.0040772f
push edi
push 1
lea ecx, [esp + 0x4c]
call fcn.0040aca3
lea ecx, [esp + 0x17c]
jmp 0x409bb8
lea eax, [esp + 0x160]
push eax
lea eax, [esp + 0x48]
push 0x5922bc
push eax
call fcn.0040ded0
add esp, 0xc
mov esi, eax
call fcn.0040772f
lea ecx, [esp + 0x44]
push edi
push 1
call fcn.0040aca3
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push 1
lea ecx, [esp + 0x14c]
call fcn.0040aca3
xor edi, edi
xor ebx, ebx
inc edi
cmp dword [0x592490], ebx
jbe 0x409bed
call fcn.004076ef
jmp 0x409c01
cmp byte [0x5eeba8], bl
jne 0x409bfc
call fcn.004075ed
jmp 0x409c01
call fcn.00407668
lea ecx, [esp + 0x160]
jmp 0x40a00d
push ebx
lea ecx, [esp + 0x180]
mov dword [esp + 0x198], 0xf
call fcn.0040b7b2
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0x184]
mov dword [esp + 0x20], ebx
call fcn.00402a56
test al, al
pop ecx
pop ecx
je 0x409dad
push dword [esp + 0x18]
push ebx
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x409dad
mov ebx, dword [esp + 0x18]
lea edi, [esp + 0x144]
call fcn.004017c5
mov eax, esi
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00477880
mov esi, eax
mov eax, edi
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00477880
add esp, 0x10
push esi
mov ecx, eax
call fcn.0040a387
mov ebx, eax
neg ebx
sbb bl, bl
xor edi, edi
xor esi, esi
push edi
inc esi
push esi
lea ecx, [esp + 0x4c]
inc bl
call fcn.0040aca3
push edi
push esi
lea ecx, [esp + 0x9c]
call fcn.0040aca3
test bl, bl
je 0x409d9a
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x409d85
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x2c], ebx
jne 0x409d85
push esi
push dword [esp + 0x18]
call dword [0x59333c]
push 5
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_BringWindowToTop]
push ebx
lea eax, [esp + 0x180]
push eax
lea eax, [esp + 0x9c]
push 0x5922bc
push eax
call fcn.0040ded0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push eax
or edx, 0xffffffff
call fcn.004077ff
pop ecx
pop ecx
push edi
push esi
lea ecx, [esp + 0x9c]
call fcn.0040aca3
push edi
push esi
lea ecx, [esp + 0x14c]
call fcn.0040aca3
push edi
push esi
lea ecx, [esp + 0x184]
call fcn.0040aca3
push edi
push esi
jmp 0x40a24e
push edi
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push esi
lea ecx, [esp + 0x14c]
call fcn.0040aca3
xor edi, edi
xor ebx, ebx
inc edi
push ebx
lea ecx, [esp + 0x164]
mov dword [esp + 0x17c], 0xf
call fcn.0040b7b2
push str.HasHomeScreen
lea ecx, [esp + 0x148]
call fcn.0040a406
lea eax, [esp + 0x144]
push edi
push eax
call fcn.00401849
pop ecx
pop ecx
push ebx
push edi
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1b], al
call fcn.0040afb1
cmp byte [esp + 0x13], bl
je 0x409e14
push str.HomeScreen
lea ecx, [esp + 0x164]
call fcn.0040aa2b
jmp 0x409fe1
lea eax, [esp + 0x60]
push eax
call fcn.00419fa4
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x68]
push dword [eax]
lea ecx, [esp + 0x38]
call fcn.0040c32a
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x68]
lea ecx, [esp + 0x38]
call fcn.0040c32a
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415593
test al, al
jne 0x409fd8
lea ecx, [esp + 0x18]
call fcn.0040be82
push eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x3c]
push eax
call fcn.00419dc4
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
push dword [eax]
lea ecx, [esp + 0xd4]
call fcn.0040c32a
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
jmp 0x409f9e
lea esi, [esp + 0x24]
call fcn.0041d49b
mov edi, dword [eax]
push edi
call fcn.00419e4e
mov esi, eax
mov eax, dword [esi + 0x54]
cmp eax, ebx
jne 0x409f90
mov ecx, dword [esp + 0x2c]
push str._SYSTEM_
call fcn.0040e1fc
test eax, eax
je 0x409f0e
or dword [esp + 0x20], 1
lea eax, [esp + 0x94]
push 0x592460
push eax
call fcn.00477940
pop ecx
pop ecx
push eax
lea ecx, [esi + 0x7c]
call fcn.0040e1d8
test eax, eax
mov byte [esp + 0x13], bl
jne 0x409f13
mov byte [esp + 0x13], 1
test byte [esp + 0x20], 1
je 0x409f2e
and dword [esp + 0x20], 0xfffffffe
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.0040afb1
cmp byte [esp + 0x13], bl
je 0x409f95
mov dword [0x592254], edi
push str.PurchasedTrialScreen
lea ecx, [esp + 0x164]
call fcn.0040aa2b
cmp dword [esp + 0x174], ebx
lea esi, [esp + 0x38]
jne 0x409fd0
call fcn.0040b1c2
lea ecx, [esp + 0x18]
call fcn.0040b4c4
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x68]
lea ecx, [esp + 0x38]
call fcn.0040c32a
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1c]
call fcn.00415593
test al, al
je 0x409e6a
jmp 0x409fd5
cmp eax, 3
je 0x409f3a
lea esi, [esp + 0x24]
call fcn.0041dbf0
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x40]
lea ecx, [esp + 0x90]
call fcn.0040c32a
lea edi, [esp + 0x88]
lea esi, [esp + 0x24]
call fcn.0040a8d1
test al, al
jne 0x409eb4
jmp 0x409f4b
call fcn.0040b1c2
xor edi, edi
inc edi
lea ecx, [esp + 0x60]
call fcn.0040b46a
cmp dword [esp + 0x174], ebx
je 0x409ff8
lea eax, [esp + 0x160]
push eax
call fcn.004075d3
pop ecx
push ebx
push edi
lea ecx, [esp + 0x168]
call fcn.0040aca3
lea ecx, [esp + 0x17c]
push ebx
push edi
call fcn.0040aca3
push ebx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x1b4], 0xf
call fcn.0040b7b2
cmp byte [0x5eeba8], bl
jne 0x40a225
cmp byte [0x5eebaf], bl
jne 0x40a225
push ebx
lea ecx, [esp + 0x164]
mov dword [esp + 0x17c], 7
call fcn.0040af94
cmp dword [0x59251c], ebx
jne 0x40a0b9
push 0x5ca4d8
lea ecx, [esp + 0x148]
call fcn.0040a2a0
lea eax, [esp + 0x144]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00477a20
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x164]
call fcn.0040f6f7
push ebx
push edi
lea ecx, [esp + 0x9c]
mov esi, eax
call fcn.0040afb1
push ebx
push edi
lea ecx, [esp + 0x14c]
call fcn.0040aca3
jmp 0x40a0c8
lea eax, [esp + 0x160]
push eax
call fcn.0040f936
mov esi, eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x164]
push eax
call fcn.00401298
push eax
lea eax, [esp + 0x98]
push eax
call fcn.004785c0
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1a4]
call fcn.0040a999
push ebx
push edi
lea ecx, [esp + 0x9c]
call fcn.0040aca3
push ebx
push edi
lea ecx, [esp + 0x4c]
call fcn.0040afb1
cmp esi, ebx
jne 0x40a217
cmp dword [esp + 0x1ac], ebx
je 0x40a217
cmp dword [esp + 0x1b0], 0x10
mov eax, dword [esp + 0x19c]
jae 0x40a140
lea eax, [esp + 0x19c]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
mov esi, 0x592524
lea eax, [esp + 0x180]
push esi
push eax
call fcn.00478490
add esp, 0xc
cmp byte [0x5eebb6], bl
je 0x40a1e7
call fcn.004767b0
test al, al
je 0x40a1e7
cmp dword [esp + 0x190], ebx
je 0x40a191
push 0x56058c
lea ecx, [esp + 0x180]
call fcn.0040a92e
push 0x5611b0
push 0x5922bc
lea eax, [esp + 0x4c]
push str._changedir_
push eax
call fcn.0040dcca
add esp, 0xc
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.0040dd15
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x188]
call fcn.0040b546
push ebx
push edi
lea ecx, [esp + 0x9c]
call fcn.0040aca3
push ebx
push edi
lea ecx, [esp + 0x4c]
call fcn.0040aca3
mov ecx, esi
call fcn.0040a4ce
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x180]
mov byte [0x592274], bl
call fcn.004080aa
pop ecx
push ebx
push edi
lea ecx, [esp + 0x184]
call fcn.0040aca3
push ebx
push edi
lea ecx, [esp + 0x168]
call fcn.0040afb1
push dword [0x5eebcc]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x90]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push edi
lea ecx, [esp + 0x1a0]
call fcn.0040aca3
push ebx
push edi
lea ecx, [esp + 0x1bc]
call fcn.0040aca3
lea ecx, [esp + 0xd4]
call fcn.004798c0
lea ecx, [esp + 0xb0]
call fcn.004798c0
mov ecx, dword [esp + 0x4dc]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0050bc9c
mov esp, ebp
pop ebp
ret 0x10