Function at 0x414b20
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x535ac7
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x59024c]
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.004232c0
mov ecx, eax
call fcn.00423290
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.0040e8c0
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 0x4151a5
call fcn.00454720
mov ecx, eax
push ebx
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x414e62
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.0040c7b0
push 3
push 0x5491fc
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.0040c7b0
mov byte [ebp - 4], 3
call fcn.00454720
push 1
push 2
lea ecx, [ebp - 0x174]
mov dword [ebp - 0xc8], eax
call fcn.00407ad0
push edi
push 0x548e38
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 4
call fcn.0040d1b0
push edi
push 0x548e3c
lea ecx, [ebp - 0xa4]
mov esi, eax
call fcn.0040d1b0
push 0x64
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x74]
push ebx
push eax
call fcn.004ee390
mov ecx, dword [ebp - 0xc0]
add esp, 0xc
cmp ecx, edi
je 0x414d5b
lea eax, [ecx - 1]
cmp esi, eax
jae 0x414d5b
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 0x415709
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.0040c7b0
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
lea ebx, [edi + 5]
cmovae eax, dword [ebp - 0xbc]
push eax
push 0x485
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.004076b0
mov edx, dword [ebp - 0xa8]
add esp, 0x10
cmp edx, 0x10
jb 0x414d3e
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414d34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41570e
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
jmp 0x414d71
push 0x485
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.004076b0
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.004095f0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.004095f0
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 5
push str.InstallFiles__InstallHelper::path_7z_is_not_exist
push eax
call fcn.004095f0
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.00409720
mov edx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x414e0f
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414e05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415713
push edx
push ecx
call fcn.00448d6e
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 0x414e62
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414e58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415718
push edx
push ecx
call fcn.00448d6e
add esp, 8
lea eax, [ebp - 0xdc]
push eax
call fcn.004232c0
mov ecx, eax
call fcn.00423290
mov ecx, dword [eax]
or ebx, 1
mov byte [ebp - 4], 6
mov dword [ebp - 0xc0], ebx
call fcn.0040bd20
test al, al
je 0x414ee2
mov eax, dword [ebp - 0xd0]
add eax, 0x44
push str.7z.zip
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.0040e8c0
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.0043f850
add esp, 0x1c
mov byte [ebp - 0xc1], 1
test eax, eax
jne 0x414ee9
mov byte [ebp - 0xc1], 0
mov dword [ebp - 4], 6
test bl, 2
je 0x414f1b
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 0x414f1b
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 0x414f4b
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x414f4b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x414f4b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp - 0xc1], 0
je 0x4151a5
push dword [ebp - 0xd4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4150bc
call fcn.00454720
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x415048
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.0040c7b0
push 3
push 0x5490cc
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.0040c7b0
mov byte [ebp - 4], 9
call fcn.00454720
mov edi, eax
lea ecx, [ebp - 0x174]
push 0x48d
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040e020
mov esi, eax
mov byte [ebp - 4], 0xa
push str.ExtractPepflashplayer_Packall_Move_7z_Success
push esi
call fcn.004095f0
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x174]
call fcn.00409720
lea ecx, [ebp - 0xa4]
call fcn.00408ca0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 1
call fcn.00408ca0
or edi, 0xffffffff
push dword [ebp - 0xd4]
call fcn.004d2860
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 0x415076
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xcc]
test esi, esi
je 0x41509e
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x41509e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x41509e
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.00448d5d
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 0x4150dc
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.00412460
add esp, 8
test eax, eax
je 0x4151a5
call fcn.00454720
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x415048
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.0040c7b0
push 3
push 0x5494e8
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.0040c7b0
mov byte [ebp - 4], 0xc
call fcn.00454720
mov edi, eax
lea ecx, [ebp - 0x174]
push 0x490
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040e020
mov esi, eax
mov byte [ebp - 4], 0xd
push str.InstallFiles__InstallHelper::download7z___Success
jmp 0x41500f
call fcn.004232c0
mov ecx, eax
call fcn.004262d0
test eax, eax
jne 0x4151c2
call fcn.00411e50
test eax, eax
jne 0x415048
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x41571d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0], eax
push 0x546af8
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xe
call fcn.00403470
test al, al
jne 0x415209
push 0
push 0x546af8
lea ecx, [ebp - 0xc0]
call fcn.00403cb0
mov byte [ebp - 4], 0xf
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x415727
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc8], eax
push 0x546af8
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x10
call fcn.00403470
test al, al
jne 0x415254
push 0
push 0x546af8
lea ecx, [ebp - 0xc8]
call fcn.00403cb0
mov byte [ebp - 4], 0x11
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x415731
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.00403470
test al, al
jne 0x41529f
push 0xa
push str.7z_noexist
lea ecx, [ebp - 0xd8]
call fcn.00403cb0
mov byte [ebp - 4], 0x13
call fcn.00437b30
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 0x4152e6
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 0x415307
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 0x415328
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00454720
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4155e9
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.0040c7b0
push 3
push 0x5491fc
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.0040c7b0
mov byte [ebp - 4], 0x15
call fcn.00454720
push 1
push 2
lea ecx, [ebp - 0x174]
mov dword [ebp - 0xc0], eax
call fcn.00407ad0
push 0xffffffffffffffff
push 0x548e38
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x16
call fcn.0040d1b0
push 0xffffffffffffffff
push 0x548e3c
lea ecx, [ebp - 0xbc]
mov ebx, eax
call fcn.0040d1b0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.004ee390
add esp, 0xc
cmp esi, 0xffffffff
je 0x4154e2
lea eax, [esi - 1]
cmp ebx, eax
jae 0x4154e2
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 0x41573b
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.0040c7b0
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push eax
push 0x498
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.004076b0
mov edx, dword [ebp - 0x90]
add esp, 0x10
cmp edx, 0x10
jb 0x4154c5
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4154bb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415740
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
jmp 0x4154f8
push 0x498
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.004076b0
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.004095f0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.004095f0
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 0x17
push str.InstallFiles__InstallHelper::Copy7zfromProduct_is_not_exist
push eax
call fcn.004095f0
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.00409720
mov edx, dword [ebp - 0x78]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x415596
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41558c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415745
push edx
push ecx
call fcn.00448d6e
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 0x4155e9
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4155df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41574a
push edx
push ecx
call fcn.00448d6e
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 0x415609
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.00412460
add esp, 8
test eax, eax
jne 0x415048
call fcn.00454720
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x415702
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.0040c7b0
push 3
push 0x5494e8
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.0040c7b0
mov byte [ebp - 4], 0x19
call fcn.00454720
mov edi, eax
lea ecx, [ebp - 0x174]
push 0x49a
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040e020
mov esi, eax
push str.InstallFiles__InstallHelper::download7z___failed
push esi
mov byte [ebp - 4], 0x1a
call fcn.004095f0
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x174]
call fcn.00409720
lea ecx, [ebp - 0xa4]
call fcn.00408ca0
lea ecx, [ebp - 0x8c]
call fcn.00408ca0
or edi, 0xffffffff
xor ebx, ebx
jmp 0x415055
call fcn.0040c3c0
call fcn.004f2969
call fcn.004f2969
call fcn.004f2969
push 0x80004005
call fcn.00403450
push 0x80004005
call fcn.00403450
push 0x80004005
call fcn.00403450
call fcn.0040c3c0
call fcn.004f2969
call fcn.004f2969
call fcn.004f2969
int3