Function at 0x435e9b
Capabilities:
Check if file exists
Set file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x490]
sub esp, 0x508
mov eax, dword [0x4b7f60]
xor eax, ebp
mov dword [ebp + 0x48c], eax
mov eax, dword [ebp + 0x498]
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
call fcn.0041e217
mov ecx, edi
call fcn.0042d6a2
test eax, eax
jne 0x435ef9
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x48c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046d79a
add ebp, 0x490
leave
ret 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.RICHED20.DLL
mov dword [edi + 0x128], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ecx, edi
call fcn.00432ad4
push ebx
push ecx
mov eax, esp
push ebx
push ebx
push ebx
mov dword [eax], ebx
push ecx
mov eax, esp
mov dword [eax], ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
lea ecx, [edi + 8]
call fcn.0040db30
push ebx
push dword [edi + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [edi + 0x90]
push eax
call fcn.0043a3a3
mov ecx, eax
call fcn.0043a671
test al, al
je 0x435edc
call fcn.0043a3a3
mov ecx, eax
call fcn.0043a1bb
push str.InstallResource.zip
lea ecx, [ebp + 0x44]
call fcn.004018ba
lea eax, [ebp + 0x44]
push eax
call fcn.0043a3a3
mov ecx, eax
call fcn.0043a770
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
xor eax, eax
push 0x206
mov word [ebp + 0x284], ax
lea eax, [ebp + 0x286]
push ebx
push eax
call fcn.0046d720
push 0x208
lea eax, [ebp + 0x284]
push ebx
push eax
call fcn.0046d720
add esp, 0x18
call fcn.0043a3a3
mov ecx, eax
call fcn.0043a02e
cmp dword [eax + 0x18], 8
jb 0x435fd2
mov eax, dword [eax + 4]
jmp 0x435fd5
add eax, 4
push str.InstallConfig.xml
push eax
lea eax, [ebp + 0x284]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp + 0x284]
push eax
call fcn.00402976
mov ecx, eax
call fcn.00402b52
test eax, eax
je 0x436006
mov eax, esi
jmp 0x435edf
mov ecx, edi
call fcn.00432bc8
lea eax, [edi + 0x74]
push eax
lea eax, [edi + 0x58]
push eax
call fcn.0043d04e
mov ecx, eax
call fcn.0043cbff
mov ecx, edi
call fcn.00432649
lea eax, [ebp - 0x1b]
push eax
mov byte [ebp - 0x1b], bl
call fcn.0040402d
mov ecx, eax
call fcn.00404129
cmp byte [ebp - 0x1b], bl
je 0x436095
xor eax, eax
push 0x206
mov word [ebp + 0x7c], ax
lea eax, [ebp + 0x7e]
push ebx
push eax
call fcn.0046d720
add esp, 0xc
push 0x104
lea eax, [ebp + 0x7c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push dword [edi + 0xc]
lea eax, [ebp + 0x7c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp + 0x44]
call fcn.004018ba
push eax
call fcn.004462ec
mov ecx, eax
call fcn.00446886
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
lea eax, [ebp - 0x19]
push eax
mov byte [ebp - 0x19], bl
call fcn.0040402d
mov ecx, eax
call fcn.004040e7
cmp byte [ebp - 0x19], bl
jne 0x4361c9
push ebx
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x40], 7
call fcn.00401ca3
lea eax, [ebp + 0x28]
push eax
call fcn.00434a22
mov ecx, eax
call fcn.004329c5
push str._InstallInfo
lea ecx, [ebp + 0x28]
call fcn.00401941
push ebx
sub esp, 0x1c
lea eax, [ebp + 0x28]
mov ecx, esp
push eax
call fcn.004018dc
mov ecx, edi
call fcn.00434a4b
push 0x4a7dd0
lea ecx, [ebp + 0x28]
call fcn.0040a41f
test eax, eax
je 0x43611a
cmp dword [ebp + 0x40], 8
mov eax, dword [ebp + 0x2c]
jae 0x436111
lea eax, [ebp + 0x2c]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp + 0x44]
push eax
call fcn.0044b016
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x28]
call fcn.00401965
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
push str.tp_InstallInfo_tp_
lea ecx, [ebp + 0x28]
call fcn.00401941
push esi
sub esp, 0x1c
lea eax, [ebp + 0x28]
mov ecx, esp
push eax
call fcn.004018dc
mov ecx, edi
call fcn.00434a4b
push 0x4a7dd0
lea ecx, [ebp + 0x28]
call fcn.0040a41f
test eax, eax
je 0x4361bf
lea eax, [ebp + 0x60]
push 0x49d060
push eax
call fcn.0044b016
pop ecx
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.0040f2de
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x28]
call fcn.00401965
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
cmp dword [ebp + 0x40], 8
mov eax, dword [ebp + 0x2c]
jae 0x4361b6
lea eax, [ebp + 0x2c]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push ebx
push esi
lea ecx, [ebp + 0x28]
call fcn.00401a1c
call fcn.0043a3a3
mov ecx, eax
call fcn.0043bdc3
call fcn.0043a3a3
mov ecx, eax
call fcn.0043b0ee
call fcn.0042d66f
mov ecx, eax
call fcn.0042d53b
lea ecx, [ebp - 0x4c]
call fcn.00434537
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x20]
mov ecx, edi
call fcn.004345f8
lea eax, [ebp - 0x1a]
push eax
mov byte [ebp - 0x1a], bl
call fcn.0040402d
mov ecx, eax
call fcn.00404129
push 0x49d05c
lea ecx, [ebp + 0x60]
call fcn.004018ba
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18], esi
call fcn.0043c591
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00491a46
test al, al
je 0x436299
push str.Repair
lea ecx, [ebp + 0x44]
call fcn.004018ba
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18], 3
call fcn.0043c591
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00491a46
mov byte [ebp - 0x11], bl
test al, al
jne 0x43629d
mov byte [ebp - 0x11], 1
test byte [ebp - 0x18], 2
je 0x4362b1
and dword [ebp - 0x18], 0xfffffffd
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
test byte [ebp - 0x18], 1
je 0x4362c5
and dword [ebp - 0x18], 0xfffffffe
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
cmp byte [ebp - 0x11], bl
je 0x4362d0
mov dword [edi + 0x144], esi
push 0x4a8a2c
lea ecx, [ebp + 0x60]
call fcn.004018ba
or dword [ebp - 0x18], 4
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
call fcn.0043c591
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
mov ecx, eax
call fcn.00491a46
test al, al
je 0x436352
push str.Silent
lea ecx, [ebp + 0x44]
call fcn.004018ba
or dword [ebp - 0x18], 8
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
call fcn.0043c591
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
mov ecx, eax
call fcn.00491a46
mov byte [ebp - 0x11], 1
test al, al
jne 0x436355
mov byte [ebp - 0x11], bl
test byte [ebp - 0x18], 8
je 0x436369
and dword [ebp - 0x18], 0xfffffff7
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
test byte [ebp - 0x18], 4
je 0x43637d
and dword [ebp - 0x18], 0xfffffffb
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
cmp byte [ebp - 0x11], bl
je 0x43653f
cmp byte [ebp - 0x1a], bl
je 0x43655a
cmp byte [ebp - 0x19], bl
je 0x43655a
push ebx
lea ecx, [ebp + 0x60]
mov dword [edi + 0x164], esi
mov dword [ebp + 0x78], 7
call fcn.00401ca3
lea eax, [ebp + 0x60]
push eax
call fcn.00403395
pop ecx
test eax, eax
je 0x4364dd
push ebx
lea ecx, [ebp - 0x10]
mov dword [ebp + 8], 7
call fcn.00401ca3
push ebx
lea ecx, [ebp + 0x44]
mov dword [ebp + 0x5c], 7
call fcn.00401ca3
push ebx
lea ecx, [ebp + 0x28]
mov dword [ebp + 0x40], 7
call fcn.00401ca3
push 0x49d014
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040f2de
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x10]
call fcn.00401965
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.00401a1c
push str.BHOBHOInstall.exe
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040f2de
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x44]
call fcn.00401965
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.00401a1c
push 0x49b820
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040f2de
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x28]
call fcn.00401965
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.00401a1c
cmp dword [ebp + 8], 8
mov eax, dword [ebp - 0xc]
jae 0x43647d
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4364ac
cmp dword [ebp + 0x40], 8
mov eax, dword [ebp + 0x2c]
jae 0x436494
lea eax, [ebp + 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4364ac
mov dword [edi + 0x144], esi
push 0x25e
jmp 0x4364b1
push 0x25f
call fcn.0043d04e
mov ecx, eax
call fcn.0043d2ee
push ebx
push esi
lea ecx, [ebp + 0x28]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp - 0x10]
call fcn.00401a1c
jmp 0x4364ee
push 0x25f
call fcn.0043d04e
mov ecx, eax
call fcn.0043d2ee
push ebx
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x24], 7
call fcn.00401ca3
lea eax, [ebp + 0xc]
push eax
call fcn.0040345b
pop ecx
test eax, eax
je 0x436529
cmp dword [ebp + 0x24], 8
mov eax, dword [ebp + 0x10]
jae 0x436518
lea eax, [ebp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x436529
mov dword [edi + 0x160], esi
push ebx
push esi
lea ecx, [ebp + 0xc]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
jmp 0x43655a
cmp byte [ebp - 0x1a], bl
je 0x43655a
cmp byte [ebp - 0x19], bl
je 0x43655a
push 0x25f
call fcn.0043d04e
mov ecx, eax
call fcn.0043d2ee
call fcn.0040b362
mov ecx, eax
call fcn.0040b42f
test eax, eax
jne 0x43659f
lea eax, [ebp - 0x78]
push eax
call fcn.0040b362
mov ecx, eax
call fcn.0040b463
cmp dword [eax + 0x18], 8
jb 0x436585
mov eax, dword [eax + 4]
jmp 0x436588
add eax, 4
push eax
call fcn.0040b362
mov ecx, eax
call fcn.0040b3db
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.00401a1c
mov edi, str.InstallPath
push edi
lea ecx, [ebp + 0x44]
call fcn.004018ba
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
call fcn.0043c591
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00491a46
neg al
sbb al, al
push ebx
inc al
push esi
lea ecx, [ebp + 0x44]
mov byte [ebp - 0x11], al
call fcn.00401a1c
cmp byte [ebp - 0x11], bl
je 0x436619
push edi
lea ecx, [ebp + 0x44]
call fcn.004018ba
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00434551
push eax
lea ecx, [ebp + 0x60]
call fcn.004018dc
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
jmp 0x436635
push ebx
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x78], 7
call fcn.00401ca3
mov ecx, dword [ebp - 0x28]
lea eax, [ebp + 0x60]
push eax
call fcn.004329c5
cmp dword [ebp + 0x78], 8
mov eax, dword [ebp + 0x64]
jae 0x436641
lea eax, [ebp + 0x64]
push eax
call fcn.0040402d
mov ecx, eax
call fcn.0040406e
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
push str.LiveUpdate
lea ecx, [ebp + 0x44]
call fcn.004018ba
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
call fcn.0043c591
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00491a46
neg al
sbb al, al
push ebx
inc al
push esi
lea ecx, [ebp + 0x44]
mov byte [ebp - 0x11], al
call fcn.00401a1c
mov edi, dword [ebp - 0x28]
xor eax, eax
cmp byte [ebp - 0x11], bl
mov byte [ebp - 0x2c], 1
setne al
mov dword [edi + 0x48], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0040402d
mov ecx, eax
call fcn.004040e7
add edi, 0x90
cmp dword [edi + 0x18], 8
jb 0x4366d5
mov eax, dword [edi + 4]
jmp 0x4366d8
lea eax, [edi + 4]
push dword [ebp - 0x2c]
push eax
call fcn.0040b820
mov ecx, eax
call fcn.0040b84b
push 0x4a8a2c
lea ecx, [ebp + 0x60]
call fcn.004018ba
or dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
call fcn.0043c591
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00491a46
test al, al
je 0x436769
push str.Silent
lea ecx, [ebp + 0x44]
call fcn.004018ba
or dword [ebp - 0x18], 0x20
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
call fcn.0043c591
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e08
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00491a46
mov byte [ebp - 0x11], bl
test al, al
jne 0x43676d
mov byte [ebp - 0x11], 1
test byte [ebp - 0x18], 0x20
je 0x436781
and dword [ebp - 0x18], 0xffffffdf
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
test byte [ebp - 0x18], 0x10
je 0x436791
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
cmp byte [ebp - 0x11], bl
je 0x4367da
cmp byte [ebp - 0x2c], bl
je 0x4367a2
push 0x2de
jmp 0x4367a7
push 0x2da
call fcn.0043d04e
mov ecx, eax
call fcn.0043d8f1
mov edi, dword [ebp - 0x28]
push edi
mov dword [edi + 0x44], esi
call fcn.0040b820
mov ecx, eax
call fcn.0040b894
push edi
mov ecx, edi
call fcn.00433f5a
mov ecx, edi
call fcn.0043547f
jmp 0x43694b
push 0xffffffffffffffff
push ebx
push esi
call fcn.0043d04e
mov ecx, eax
call fcn.0043d413
mov eax, dword [ebp - 0x28]
mov ecx, 0x4c5ca0
mov dword [eax + 0x44], ebx
call fcn.00415a36
cmp byte [ebp - 0x2c], bl
je 0x4368d4
push 0x4a7dd0
lea ecx, [ebp + 0x44]
call fcn.004018ba
lea eax, [ebp + 0x44]
push eax
call fcn.0040402d
mov ecx, eax
call fcn.0040407f
push 0x4a7dd0
lea ecx, [ebp + 0x60]
call fcn.004018ba
lea eax, [ebp + 0x60]
push eax
call fcn.00402976
mov ecx, eax
call fcn.00402ed2
cmp dword [ebp + 0x74], ebx
jne 0x43686c
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
lea ecx, [ebp - 0x4c]
call fcn.00433e23
push dword [ebp - 0x4c]
call fcn.0046d271
pop ecx
jmp 0x435fff
push str.TurnPlay_online.zip
lea ecx, [ebp + 0xc]
call fcn.004018ba
push 0x230
call fcn.0046d7c4
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x4368ab
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x60]
push edi
push eax
call fcn.0043a3a3
mov ecx, eax
call fcn.0043a02e
mov ecx, dword [ebp - 0x20]
push eax
call fcn.00446f6d
jmp 0x4368ad
xor eax, eax
push ebx
push ebx
mov ecx, eax
call fcn.00433dbf
push ebx
push esi
lea ecx, [ebp + 0xc]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp + 0x60]
call fcn.00401a1c
push ebx
push esi
lea ecx, [ebp + 0x44]
call fcn.00401a1c
cmp byte [ebp - 0x1a], bl
je 0x43690d
cmp byte [ebp - 0x2c], bl
je 0x43690d
call fcn.004462ec
mov ecx, eax
call fcn.004460a0
cmp eax, ebx
je 0x43690d
push 0x1388
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x43690d
call fcn.004462ec
mov ecx, eax
call fcn.00446069
call fcn.0043a3a3
mov ecx, eax
call fcn.0043a02e
cmp dword [eax + 0x18], 8
jb 0x436924
mov eax, dword [eax + 4]
jmp 0x436927
add eax, 4
push ebx
push 0x2000000
push 3
push ebx
push ebx
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x28]
call fcn.004341d1
xor esi, esi
jmp 0x436856