Function at 0x40c6e0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x551e27
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0xd0]
xor ebx, ebx
push eax
mov dword [ebp - 0xc0], ebx
call fcn.0041de10
mov ecx, eax
call fcn.0041dde0
mov eax, dword [ebp - 0xd0]
add eax, 0x3c
mov dword [ebp - 4], ebx
push str.7z.dll
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00405ba0
add esp, 0xc
push dword [ebp - 0xd4]
mov byte [ebp - 4], 1
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
or edi, 0xffffffff
test eax, eax
jne 0x40cd65
call fcn.0046f390
mov ecx, eax
push ebx
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x40ca22
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], al
call fcn.004174a0
push 3
push 0x566acc
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], bl
call fcn.004174a0
mov byte [ebp - 4], 3
call fcn.0046f390
push 1
push 2
lea ecx, [ebp - 0x174]
mov dword [ebp - 0xc8], eax
call fcn.004041d0
push edi
push 0x566ab0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 4
call fcn.00418760
push edi
push 0x566ab4
lea ecx, [ebp - 0xa4]
mov esi, eax
call fcn.00418760
push 0x64
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x74]
push ebx
push eax
call fcn.0050b0c0
mov ecx, dword [ebp - 0xc0]
add esp, 0xc
cmp ecx, edi
je 0x40c91b
lea eax, [ecx - 1]
cmp esi, eax
jae 0x40c91b
mov eax, dword [ebp - 0x94]
lea edx, [esi + 1]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], bl
cmp eax, edx
jb 0x40d2c9
sub ecx, esi
sub eax, edx
dec ecx
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push ecx
add eax, edx
lea ecx, [ebp - 0xbc]
push eax
call fcn.004174a0
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
lea ebx, [edi + 5]
cmovae eax, dword [ebp - 0xbc]
push eax
push 0x487
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.00403c60
mov edx, dword [ebp - 0xa8]
add esp, 0x10
cmp edx, 0x10
jb 0x40c8fe
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c8f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d2ce
push edx
push ecx
call fcn.004610ef
add esp, 8
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
jmp 0x40c931
push 0x487
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.00403c60
add esp, 0xc
cmp dword [ebp - 0x78], 0x10
lea eax, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x8c]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00405960
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00405960
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 5
push str.InstallFiles__InstallHelper::path_7z_is_not_exist
push eax
call fcn.00405960
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0x174]
add esp, 0x18
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x174]
call fcn.00405d60
mov edx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x40c9cf
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c9c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d2d3
push edx
push ecx
call fcn.004610ef
add esp, 8
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x40ca22
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca18
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d2d8
push edx
push ecx
call fcn.004610ef
add esp, 8
lea eax, [ebp - 0xdc]
push eax
call fcn.0041de10
mov ecx, eax
call fcn.0041dde0
mov ecx, dword [eax]
or ebx, 1
mov byte [ebp - 4], 6
mov dword [ebp - 0xc0], ebx
call fcn.0042ea20
test al, al
je 0x40caa2
mov eax, dword [ebp - 0xd0]
add eax, 0x44
push str.7z.zip
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00405ba0
mov edx, dword [ebp - 0xd0]
or ebx, 2
mov dword [ebp - 4], 7
mov dword [ebp - 0xc0], ebx
lea ecx, [edx + 0xa4]
push ecx
lea ecx, [edx + 0x3c]
push ecx
push eax
push 0xcb
call fcn.004575e0
add esp, 0x1c
mov byte [ebp - 0xc1], 1
test eax, eax
jne 0x40caa9
mov byte [ebp - 0xc1], 0
mov dword [ebp - 4], 6
test bl, 2
je 0x40cadb
mov edx, dword [ebp - 0xc8]
and ebx, 0xfffffffd
mov dword [ebp - 0xc0], ebx
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cadb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 4], 1
test esi, esi
je 0x40cb0b
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40cb0b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40cb0b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp - 0xc1], 0
je 0x40cd65
push dword [ebp - 0xd4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40cc7c
call fcn.0046f390
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x40cc08
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], al
call fcn.004174a0
push 3
push 0x566bbc
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
call fcn.004174a0
mov byte [ebp - 4], 9
call fcn.0046f390
mov edi, eax
lea ecx, [ebp - 0x174]
push 0x48f
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00404570
mov esi, eax
mov byte [ebp - 4], 0xa
push str.ExtractPepflashplayer_Packall_Move_7z_Success
push esi
call fcn.00405960
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x174]
call fcn.00405d60
lea ecx, [ebp - 0xa4]
call fcn.00404f30
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 1
call fcn.00404f30
or edi, 0xffffffff
push dword [ebp - 0xd4]
call fcn.00469a30
mov ebx, eax
mov edx, dword [ebp - 0xd4]
mov ecx, edi
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x40cc36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xcc]
test esi, esi
je 0x40cc5e
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40cc5e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x40cc5e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x40cc9c
lock inc dword [eax + 4]
mov eax, dword [ebp - 0xd0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], eax
call fcn.00409fc0
add esp, 8
test eax, eax
je 0x40cd65
call fcn.0046f390
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x40cc08
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], al
call fcn.004174a0
push 3
push 0x566dd4
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
call fcn.004174a0
mov byte [ebp - 4], 0xc
call fcn.0046f390
mov edi, eax
lea ecx, [ebp - 0x174]
push 0x492
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00404570
mov esi, eax
mov byte [ebp - 4], 0xd
push str.InstallFiles__InstallHelper::download7z___Success
jmp 0x40cbcf
call fcn.0041de10
mov ecx, eax
call fcn.00421cf0
test eax, eax
jne 0x40cd82
call fcn.004099b0
test eax, eax
jne 0x40cc08
call fcn.004106d0
mov ecx, eax
test ecx, ecx
je 0x40d2dd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0], eax
push 0x564bc8
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xe
call fcn.004093d0
test al, al
jne 0x40cdc9
push 0
push 0x564bc8
lea ecx, [ebp - 0xc0]
call fcn.004157e0
mov byte [ebp - 4], 0xf
call fcn.004106d0
mov ecx, eax
test ecx, ecx
je 0x40d2e7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc8], eax
push 0x564bc8
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x10
call fcn.004093d0
test al, al
jne 0x40ce14
push 0
push 0x564bc8
lea ecx, [ebp - 0xc8]
call fcn.004157e0
mov byte [ebp - 4], 0x11
call fcn.004106d0
mov ecx, eax
test ecx, ecx
je 0x40d2f1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xd8], eax
push str.7z_noexist
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x12
call fcn.004093d0
test al, al
jne 0x40ce5f
push 0xa
push str.7z_noexist
lea ecx, [ebp - 0xd8]
call fcn.004157e0
mov byte [ebp - 4], 0x13
call fcn.0044eec0
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [ebp - 0xc8]
mov edx, dword [eax]
push ecx
push 1
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, eax
call dword [edx]
mov edx, dword [ebp - 0xd8]
mov eax, edi
mov byte [ebp - 4], 0x11
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cea6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xc8]
mov eax, edi
mov byte [ebp - 4], 0xf
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cec7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xc0]
mov eax, edi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cee8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0046f390
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x40d1a9
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], al
call fcn.004174a0
push 3
push 0x566acc
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
call fcn.004174a0
mov byte [ebp - 4], 0x15
call fcn.0046f390
push 1
push 2
lea ecx, [ebp - 0x174]
mov dword [ebp - 0xc0], eax
call fcn.004041d0
push 0xffffffffffffffff
push 0x566ab0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x16
call fcn.00418760
push 0xffffffffffffffff
push 0x566ab4
lea ecx, [ebp - 0xbc]
mov ebx, eax
call fcn.00418760
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.0050b0c0
add esp, 0xc
cmp esi, 0xffffffff
je 0x40d0a2
lea eax, [esi - 1]
cmp ebx, eax
jae 0x40d0a2
mov eax, dword [ebp - 0xac]
lea edx, [ebx + 1]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
cmp eax, edx
jb 0x40d2fb
sub esi, ebx
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
push ecx
add eax, edx
lea ecx, [ebp - 0xa4]
push eax
call fcn.004174a0
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push eax
push 0x49a
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.00403c60
mov edx, dword [ebp - 0x90]
add esp, 0x10
cmp edx, 0x10
jb 0x40d085
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d07b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d300
push edx
push ecx
call fcn.004610ef
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
jmp 0x40d0b8
push 0x49a
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.00403c60
add esp, 0xc
cmp dword [ebp - 0x78], 0x10
lea eax, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x8c]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00405960
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00405960
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 0x17
push str.InstallFiles__InstallHelper::Copy7zfromProduct_is_not_exist
push eax
call fcn.00405960
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0x174]
add esp, 0x18
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x174]
call fcn.00405d60
mov edx, dword [ebp - 0x78]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x40d156
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d14c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d305
push edx
push ecx
call fcn.004610ef
add esp, 8
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x40d1a9
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d19f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d30a
push edx
push ecx
call fcn.004610ef
add esp, 8
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x40d1c9
lock inc dword [eax + 4]
mov eax, dword [ebp - 0xd0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], eax
call fcn.00409fc0
add esp, 8
test eax, eax
jne 0x40cc08
call fcn.0046f390
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x40d2c2
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], al
call fcn.004174a0
push 3
push 0x566dd4
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
call fcn.004174a0
mov byte [ebp - 4], 0x19
call fcn.0046f390
mov edi, eax
lea ecx, [ebp - 0x174]
push 0x49c
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00404570
mov esi, eax
push str.InstallFiles__InstallHelper::download7z___failed
push esi
mov byte [ebp - 4], 0x1a
call fcn.00405960
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x174]
call fcn.00405d60
lea ecx, [ebp - 0xa4]
call fcn.00404f30
lea ecx, [ebp - 0x8c]
call fcn.00404f30
or edi, 0xffffffff
xor ebx, ebx
jmp 0x40cc15
call fcn.00416f50
call fcn.0050f6a9
call fcn.0050f6a9
call fcn.0050f6a9
push 0x80004005
call fcn.004093b0
push 0x80004005
call fcn.004093b0
push 0x80004005
call fcn.004093b0
call fcn.00416f50
call fcn.0050f6a9
call fcn.0050f6a9
call fcn.0050f6a9
int3