Function at 0x407fbe
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a1d89
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x621810]
xor eax, esp
mov dword [esp + 0x170], eax
push ebx
push esi
push edi
mov eax, dword [0x621810]
xor eax, esp
push eax
lea eax, [esp + 0x188]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x24], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x944], eax
mov eax, esi
call fcn.00408b6d
push str.c_downInstall_yiwang_5.2
lea eax, [esp + 0x14c]
call fcn.004018af
and dword [esp + 0x190], 0
and dword [esp + 0x94], 0
push 7
pop ebx
xor eax, eax
mov dword [esp + 0x98], ebx
mov word [esp + 0x84], ax
lea edi, [esp + 0x164]
mov byte [esp + 0x190], 1
call fcn.00449590
push str.00000000
lea ecx, [esp + 0xdc]
mov byte [esp + 0x194], 2
call fcn.0040bad9
lea ecx, [esp + 0xd8]
mov byte [esp + 0x190], 3
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xa4]
and dword [esp + 0x78], 0
xor eax, eax
mov dword [esp + 0x7c], ebx
mov word [esp + 0x68], ax
lea eax, [esi + 0x70c]
mov byte [esp + 0x190], 4
cmp dword [eax + 0x14], 8
jb 0x4080b9
mov eax, dword [eax]
push 0x5ffdd0
push eax
lea eax, [esp + 0x34]
push str._s_s
push eax
call fcn.00445760
add esp, 0x10
mov ebx, eax
lea eax, [esp + 0x68]
mov byte [esp + 0x190], 5
call fcn.004016e5
push 1
xor edi, edi
lea esi, [esp + 0x30]
mov byte [esp + 0x194], 4
call fcn.00401ad5
cmp dword [esp + 0x7c], 8
mov eax, dword [esp + 0x68]
jae 0x408108
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edi, 0x5ff300
test eax, eax
je 0x408128
mov esi, 0x600160
push esi
call fcn.0048c5ca
pop ecx
mov ecx, esi
jmp 0x408131
push edi
call fcn.0048c5ca
pop ecx
mov ecx, edi
lea esi, [esp + 0x84]
call fcn.00401834
push 0x5ff550
lea eax, [esp + 0xf8]
call fcn.004018af
mov esi, dword [esp + 0x24]
mov byte [esp + 0x190], 6
mov ecx, dword [esi + 0x94c]
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
cmp eax, ecx
je 0x40818e
mov ebx, dword [esi + 0x760]
cmp dword [eax + 0xc], ebx
je 0x4082a6
lea eax, [esp + 0x28]
call fcn.00409fea
mov eax, dword [esp + 0x28]
cmp eax, dword [esi + 0x94c]
jne 0x408170
xor ebx, ebx
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0x4c]
mov byte [esp + 0x190], 7
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xa8]
cmp dword [esp + 0x5c], ebx
jne 0x4081d4
mov esi, 0x600164
push esi
call fcn.0048d170
pop ecx
push eax
push esi
lea ecx, [esp + 0x54]
call fcn.0040ba64
push 7
pop eax
xor ecx, ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], ebx
mov word [esp + 0xa0], cx
mov dword [esp + 0xd0], eax
xor eax, eax
mov dword [esp + 0xcc], ebx
mov word [esp + 0xbc], ax
mov byte [esp + 0x190], 9
lea eax, [esp + 0x2c]
cmp byte [ebp + 8], bl
je 0x4082bf
push edi
push 0x600168
push eax
call fcn.00445760
add esp, 0xc
mov ebx, eax
lea eax, [esp + 0xa0]
mov byte [esp + 0x190], 0xa
call fcn.004016e5
push 1
xor edi, edi
lea esi, [esp + 0x30]
mov byte [esp + 0x194], 9
call fcn.00401ad5
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x944]
sub ecx, dword [eax + 0x940]
lea eax, [esp + 0x2c]
push ecx
push str.installzm_time:_d
push eax
call fcn.00445760
add esp, 0xc
mov ebx, eax
lea eax, [esp + 0xbc]
mov byte [esp + 0x190], 0xb
call fcn.004016e5
xor ebx, ebx
inc ebx
push ebx
lea esi, [esp + 0x30]
mov byte [esp + 0x194], 9
call fcn.00401ad5
jmp 0x408300
push 0xffffffffffffffff
xor ebx, ebx
add eax, 0x10
push ebx
lea ecx, [esp + 0xfc]
call fcn.00401b81
jmp 0x408190
push 0x5ff550
push 0x600168
push eax
call fcn.00445760
add esp, 0xc
mov ebx, eax
lea eax, [esp + 0xa0]
mov byte [esp + 0x190], 0xc
call fcn.004016e5
push 1
xor edi, edi
lea esi, [esp + 0x30]
mov byte [esp + 0x194], 9
call fcn.00401ad5
xor ebx, ebx
inc ebx
and dword [esp + 0x14], 0
push 0
lea edi, [esp + 0x18]
call fcn.00455d30
lea eax, [esp + 0x148]
push eax
lea edi, [esp + 0x30]
mov byte [esp + 0x194], 0xd
call fcn.00455e40
mov eax, edi
push eax
mov edx, str.logname
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0xe
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0xd
call fcn.00455b60
lea eax, [esp + 0x84]
push eax
lea edi, [esp + 0x30]
call fcn.00455e40
mov eax, edi
push eax
mov edx, str.title
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0xf
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0xd
call fcn.00455b60
lea eax, [esp + 0x164]
push eax
lea edi, [esp + 0x30]
call fcn.00455e40
mov eax, edi
push eax
mov edx, 0x5fef10
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x10
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0xd
call fcn.00455b60
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x12c]
call fcn.004453f0
push eax
lea edi, [esp + 0x30]
mov byte [esp + 0x194], 0x11
call fcn.00455e40
mov eax, edi
push eax
mov edx, str.package_id
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x12
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0x11
call fcn.00455b60
push ebx
xor edi, edi
lea esi, [esp + 0x130]
mov byte [esp + 0x194], 0xd
call fcn.00401ad5
lea eax, [esp + 0xf4]
push eax
lea edi, [esp + 0x30]
call fcn.00455e40
mov eax, edi
push eax
mov edx, str.gate
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x13
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0xd
call fcn.00455b60
lea ecx, [esp + 0x110]
call fcn.00448f60
mov byte [esp + 0x190], 0x14
cmp dword [eax + 0x14], 8
jb 0x4084a1
mov esi, dword [eax]
jmp 0x4084a3
mov esi, eax
call fcn.004494e0
push eax
call fcn.00449430
push eax
push esi
lea eax, [esp + 0x138]
push str._s_MajorVersion__d_MinorVersion__d
push eax
call fcn.00445760
add esp, 0x14
push eax
lea edi, [esp + 0x30]
mov byte [esp + 0x194], 0x15
call fcn.00455e40
mov eax, edi
push eax
mov edx, 0x5feec4
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x16
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0x15
call fcn.00455b60
push ebx
xor edi, edi
lea esi, [esp + 0x130]
call fcn.00401ad5
push ebx
lea esi, [esp + 0x114]
mov byte [esp + 0x194], 0xd
call fcn.00401ad5
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x110]
call fcn.004453f0
push eax
lea edi, [esp + 0x30]
mov byte [esp + 0x194], 0x17
call fcn.00455e40
mov eax, edi
push eax
mov edx, 0x5fed70
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x18
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0x17
call fcn.00455b60
push ebx
xor edi, edi
lea esi, [esp + 0x114]
mov byte [esp + 0x194], 0xd
call fcn.00401ad5
lea eax, [esp + 0xa0]
push eax
lea edi, [esp + 0x30]
call fcn.00455e40
mov eax, edi
push eax
mov edx, str.count_dimension
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x19
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0xd
call fcn.00455b60
cmp byte [ebp + 8], 0
je 0x408618
lea eax, [esp + 0xbc]
push eax
lea edi, [esp + 0x30]
call fcn.00455e40
mov eax, edi
push eax
mov edx, str.count_value
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x1a
call fcn.00455200
mov ecx, eax
call fcn.00455700
mov ecx, edi
mov byte [esp + 0x190], 0xd
call fcn.00455b60
call fcn.00402fea
push 0x62c730
lea ecx, [esp + 0x18]
mov edx, eax
call fcn.0044db00
call fcn.00402fea
mov edi, eax
call fcn.0044ed90
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 9
call fcn.00455b60
push ebx
xor edi, edi
lea esi, [esp + 0xc0]
call fcn.00401ad5
push ebx
lea esi, [esp + 0xa4]
call fcn.00401ad5
push edi
push ebx
lea ecx, [esp + 0x54]
call fcn.0040342c
push ebx
lea esi, [esp + 0xf8]
call fcn.00401ad5
push ebx
lea esi, [esp + 0x6c]
call fcn.00401ad5
push edi
push ebx
lea ecx, [esp + 0xe0]
call fcn.0040342c
push ebx
lea esi, [esp + 0x168]
call fcn.00401ad5
push ebx
lea esi, [esp + 0x88]
call fcn.00401ad5
push ebx
lea esi, [esp + 0x14c]
call fcn.00401ad5
mov ecx, dword [esp + 0x188]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0048b951
mov esp, ebp
pop ebp
ret 4