Function at 0x410160
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x564e7f
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x5c524c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x7c], 0
push eax
call fcn.00425690
mov ecx, eax
call fcn.00425660
mov dword [ebp - 4], 0
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x4108bd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x68]
mov byte [ebp - 4], 1
call fcn.00439300
test al, al
mov eax, dword [ebp - 0x68]
je 0x4101f5
add eax, 0x3c
push str.cef69
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004085a0
add esp, 0xc
mov byte [ebp - 4], 2
jmp 0x41020e
add eax, 0x3c
push str.cef
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004085a0
add esp, 0xc
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x60]
call fcn.00407e20
mov edx, dword [ebp - 0x48]
or esi, 0xffffffff
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410238
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x68]
call fcn.004392c0
mov edi, dword [ebp - 0x60]
test al, al
je 0x4103b4
push dword [0x5c507c]
mov eax, dword [ebp - 0x68]
add eax, 0x44
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004085a0
push dword [0x5c507c]
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004085a0
add esp, 0x18
push dword [eax]
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov edx, dword [ebp - 0x4c]
mov ecx, esi
mov dword [ebp - 0x48], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4102a6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x410396
call fcn.00481d20
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x41036c
push 0x5a
push str.d:jenkins.jenkinsworkspacemg_boxgame_boxmicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], al
call fcn.0041ca10
push 3
push 0x579acc
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0041ca10
mov byte [ebp - 4], 6
call fcn.00481d20
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x118]
push 0x5b5
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00406ec0
mov esi, eax
push str.ExtractPepflashplayer_Packall_Move_PepFalsh_Success
push esi
mov byte [ebp - 4], 7
call fcn.004081f0
mov eax, dword [ebp - 0x4c]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x118]
call fcn.0040ad10
lea ecx, [ebp - 0x28]
call fcn.004078d0
lea ecx, [ebp - 0x40]
call fcn.004078d0
or esi, 0xffffffff
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41038a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x48], 1
jmp 0x41085f
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4103b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x5c508c]
mov eax, dword [ebp - 0x68]
add eax, 0x44
mov dword [ebp - 0x48], 0
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004085a0
add esp, 0xc
mov ecx, dword [0x5cca60]
mov byte [ebp - 4], 8
test ecx, ecx
jne 0x410498
push 0x5c50c0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x5cca60], 0
jne 0x410487
push 0x24
call fcn.0047298f
mov esi, eax
add esp, 4
mov dword [ebp - 0x50], esi
test esi, esi
je 0x410477
xorps xmm0, xmm0
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm0
mov dword [esi + 0x20], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x4108c7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], 0
jmp 0x410479
xor esi, esi
xor ecx, ecx
lea eax, [ebp - 0x50]
lock or dword [eax], ecx
mov dword [0x5cca60], esi
push 0x5c50c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x5cca60]
lea eax, [ebp - 0x6c]
add ecx, 0x1c
push eax
call fcn.00407e20
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, dword [str.pepflashplayer.dll]
mov dword [ebp - 0x80], eax
mov ecx, dword [edi - 0x10]
mov byte [ebp - 4], 0xc
test ecx, ecx
je 0x4104d3
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x4104eb
call fcn.00415c50
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x4108d1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], 2
mov dword [ebp - 0x5c], eax
test esi, esi
jne 0x410507
xor ecx, ecx
jmp 0x41051f
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410510
sub ecx, edx
sar ecx, 1
push ecx
push esi
push dword [edi - 0xc]
lea eax, [ebp - 0x5c]
push edi
push eax
call fcn.0040e960
mov eax, dword [ebp - 0x68]
add eax, 0x94
push 2
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00463680
mov dword [ebp - 0x4c], eax
push 0x20
mov byte [ebp - 4], 0xd
call fcn.0047298f
mov esi, eax
add esp, 0x24
mov dword [ebp - 0x78], esi
test esi, esi
je 0x4105c9
mov dword [esi], vtable.CHttpTaskAdapterDownloadFile.0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x4108db
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], 0
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x4108e5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push 0
push 0
push 1
add eax, 0x10
push 0
mov dword [esi + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 0x10], eax
jmp 0x4105cb
xor esi, esi
push dword [ebp - 0x50]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0
push esi
mov dword [ebp - 0x54], 0
call fcn.00406490
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xe
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
call fcn.00415af0
mov ecx, eax
call fcn.0040f000
mov esi, dword [ebp - 0x5c]
test eax, eax
je 0x410708
push dword [ebp - 0x50]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0
push eax
mov dword [ebp - 0x70], 0
call fcn.00406530
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x74]
mov dword [edx + 4], eax
mov ecx, dword [edx + 8]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x4c], ecx
mov dword [edx + 8], eax
test ecx, ecx
je 0x41065e
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x41065e
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x4c]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x41065b
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
mov ecx, dword [edx + 4]
push edx
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x58]
push esi
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov eax, dword [ebp - 0x58]
push 0x64
push str.timeout
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov eax, dword [ebp - 0x58]
push dword [ebp - 0x78]
push 0
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x410708
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x410708
mov ecx, dword [ebp - 0x80]
push 0x18e70
test ecx, ecx
je 0x4106c6
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x74]
push 0
push eax
push 2
mov dword [ebp - 0x70], ecx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
jmp 0x4106cd
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x410708
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x410708
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x410702
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x410702
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x54]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x410702
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x41], 0
jmp 0x410733
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x41072f
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x41072f
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x54]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x41072f
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x41], 1
mov edx, dword [ebp - 0x50]
or eax, 0xffffffff
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410752
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 8
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410770
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x41], 0
je 0x41083a
call fcn.00481d20
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x410841
push 0x5a
push str.d:jenkins.jenkinsworkspacemg_boxgame_boxmicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
call fcn.0041ca10
push 3
push 0x579ac8
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0041ca10
mov byte [ebp - 4], 0x10
call fcn.00481d20
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x118]
push 0x5c7
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00406ec0
mov esi, eax
push str.SyncHttpDownloadFile_pepflash_fail_
push esi
mov byte [ebp - 4], 0x11
call fcn.004081f0
mov eax, dword [ebp - 0x50]
add esp, 8
mov ecx, eax
mov edx, dword [eax]
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x118]
call fcn.0040ad10
lea ecx, [ebp - 0x40]
call fcn.004078d0
lea ecx, [ebp - 0x28]
call fcn.004078d0
or esi, 0xffffffff
jmp 0x410841
mov dword [ebp - 0x48], 1
mov edx, dword [ebp - 0x6c]
mov eax, esi
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41085f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x41087a
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x41089f
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x41089f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x41089f
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047285d
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040e3e0
push 0x80004005
call fcn.0040e3e0
push 0x80004005
call fcn.0040e3e0
push 0x80004005
call fcn.0040e3e0
push 0x80004005
call fcn.0040e3e0
int3