Function at 0x4ed870
Capabilities:
Check if file exists
Delete file
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53985a
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x59a0a0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1a8], edi
push 0
mov dword [ebp - 4], 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], 0xc8
push eax
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [edi + 0x424]
call fcn.0042be10
and dword [ebp - 0x1c4], 0xfffffe00
mov dword [ebp - 0x1c0], 0
xor eax, eax
mov byte [ebp - 4], 2
push eax
push 0x56136c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00405040
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x2c]
push eax
push ecx
lea eax, [ebp + 8]
mov ecx, edi
push eax
push 0
call fcn.0050a040
test eax, eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
sete bl
cmp eax, 8
jb 0x4ed959
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00403010
test bl, bl
je 0x4eda0e
push 0x561370
push str.__s_:_Get_Bundle_Info_Failed.
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0xc
mov dword [ebp - 0x18], 7
xor eax, eax
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 0x2c]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 8]
push eax
call fcn.004026e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea edi, [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x2c]
cmovae edi, dword [ebp - 0x2c]
sub esp, 0x18
lea eax, [ecx + eax*2]
mov ecx, esp
push ecx
push eax
push edi
call fcn.0042dda0
mov ecx, dword [ebp - 0x1ac]
push 2
call fcn.004ee3f0
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4ed9e7
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00403010
lea ecx, [ebp - 0x1cc]
call fcn.004d43c0
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x4eda07
inc eax
lea ecx, [ebp + 8]
push eax
push dword [ebp + 8]
call fcn.00403010
xor al, al
jmp 0x4ee33b
lea ecx, [ebp - 0x1cc]
call fcn.004d38d0
test eax, eax
jne 0x4eda8d
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str.__s_:_Bundle_Info_Is_Null._Bundle_Name:__s
call fcn.004e78a0
push eax
call fcn.004e76a0
sub esp, 0xc
xor eax, eax
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp + 8]
push eax
call fcn.004026e0
push 3
mov ecx, edi
call fcn.004ee360
lea ecx, [ebp - 0x1cc]
call fcn.004d43c0
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x4eda07
inc eax
lea ecx, [ebp + 8]
push eax
push dword [ebp + 8]
call fcn.00403010
xor al, al
jmp 0x4ee33b
movsx ecx, byte [ebp - 0x1c4]
mov esi, dword [ebp - 0x1cc]
lea eax, [ecx - 6]
cmp eax, 1
ja 0x4edaae
test esi, esi
je 0x4edaae
mov eax, dword [esi]
xor dl, dl
mov eax, dword [eax]
jmp 0x4edab2
xor eax, eax
mov dl, 1
add ecx, 0xfffffffa
mov byte [ebp - 0x1b8], dl
mov dword [ebp - 0x1bc], eax
cmp ecx, 1
ja 0x4edad0
test esi, esi
je 0x4edad0
mov esi, dword [esi]
xor cl, cl
jmp 0x4edad4
xor esi, esi
mov cl, 1
mov ebx, dword [ebp - 0x1ec]
mov byte [ebp - 0x1a1], cl
test dl, dl
jne 0x4edae9
cmp eax, esi
sete cl
test cl, cl
jne 0x4edd8f
push ecx
lea edi, [eax + 0x18]
mov byte [ebp - 4], 5
push 0x561464
mov ecx, edi
call fcn.004d36d0
lea ecx, [ebp - 0x144]
push 3
mov eax, dword [eax]
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x148]
push eax
call fcn.0041f5e0
mov byte [ebp - 4], 6
lea eax, [ebx + 0x90]
mov edx, dword [ebp - 0x148]
test edx, edx
jne 0x4edb39
xor ecx, ecx
jmp 0x4edb5d
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1a0], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4edb44
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebx + 0x90]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.00402d50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x148]
cmp eax, ecx
je 0x4edb83
push eax
call fcn.004a51fb
add esp, 4
push ecx
push 0x56145c
mov ecx, edi
call fcn.004d36d0
lea ecx, [ebp - 0x144]
push 3
mov eax, dword [eax]
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x148]
push eax
call fcn.0041f5e0
mov byte [ebp - 4], 7
lea eax, [ebx + 0xa8]
mov edx, dword [ebp - 0x148]
test edx, edx
jne 0x4edbc4
xor ecx, ecx
jmp 0x4edbe9
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1a0], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4edbd0
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebx + 0xa8]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.00402d50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x148]
cmp eax, ecx
je 0x4edc0f
push eax
call fcn.004a51fb
add esp, 4
push ecx
push 0x561488
mov ecx, edi
call fcn.004d36d0
mov ecx, eax
call fcn.004d3b00
push ecx
push 0x561474
mov ecx, edi
mov dword [ebx + 0x30], eax
call fcn.004d36d0
lea ecx, [ebp - 0x144]
push 3
mov eax, dword [eax]
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x148]
push eax
call fcn.0041f5e0
mov byte [ebp - 4], 8
lea eax, [ebx + 0x84]
mov edx, dword [ebp - 0x148]
test edx, edx
jne 0x4edc67
xor ecx, ecx
jmp 0x4edc8b
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1a0], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4edc72
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebx + 0x84]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.00402d50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x148]
cmp eax, ecx
je 0x4edcb1
push eax
call fcn.004a51fb
add esp, 4
push ecx
push 0x5614f8
mov ecx, edi
call fcn.004d36d0
lea ecx, [ebp - 0x144]
push 3
mov eax, dword [eax]
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x148]
push eax
call fcn.0041f5e0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x148]
test edx, edx
jne 0x4edcec
xor ecx, ecx
jmp 0x4edd0a
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1a0], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4edcf7
sub ecx, dword [ebp - 0x1a0]
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0xa0]
call fcn.00402d50
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x144]
cmp eax, ecx
je 0x4edd30
push eax
call fcn.004a51fb
add esp, 4
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 4], 2
call fcn.0040b110
mov dl, byte [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov cl, byte [ebp - 0x1a1]
jmp 0x4edae0
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1a8], eax
push 1
mov byte [ebp - 4], 0xb
call fcn.004983b7
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0xc
push eax
call fcn.0042de10
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.00409c80
mov dword [ebp - 0x1dc], eax
add esp, 8
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1e0]
push 0x56154f
push ecx
push eax
lea ecx, [ebp - 0x19c]
call fcn.0042e150
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0xe
call fcn.0042e230
mov esi, eax
test esi, esi
je 0x4ede16
lock inc dword [esi + 0x20]
mov ecx, dword [ebp - 0x1e4]
test ecx, ecx
je 0x4ede37
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x4ede37
mov ecx, dword [ebp - 0x1e4]
xor edx, edx
call fcn.0042d570
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x1e4], esi
test ecx, ecx
je 0x4ede77
mov eax, dword [ebp - 0x180]
sub eax, ecx
sar eax, 2
push eax
push ecx
call fcn.004149e0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0xc4]
push 3
push dword [ebx + 0x84]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], eax
call fcn.0042ac40
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x44]
push dword [ebp - 0xc8]
call fcn.00409230
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp eax, ecx
je 0x4edec9
push eax
call fcn.004a51fb
add esp, 4
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x1e4]
cmovae ecx, dword [ebp - 0x44]
add eax, ecx
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x44]
push ecx
push 0x10
push eax
push ecx
call fcn.0042e080
add esp, 0x10
test al, al
jne 0x4edf9d
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
push 0x5615b8
push str.__s_:_Error_Url:__s
call fcn.004e78a0
push eax
call fcn.004e76a0
sub esp, 8
xor eax, eax
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp + 8]
push eax
call fcn.004026e0
mov ecx, dword [ebp - 0x1ac]
push 5
call fcn.004ee360
mov eax, dword [ebp - 0x30]
cmp eax, 0x10
jb 0x4edf66
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.00405350
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x44], 0
call fcn.0042d7f0
lea ecx, [ebp - 0x1cc]
call fcn.004d43c0
lea ecx, [ebp + 8]
call fcn.00403110
xor al, al
jmp 0x4ee33b
push 0x561610
lea ecx, [ebp - 0x1b4]
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x13
mov esi, esp
mov dword [ebp - 0x1a8], esi
mov ecx, dword [ebp - 0x1b4]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.0050d940
mov byte [ebp - 4], 0x14
mov ecx, dword [ebx + 0x90]
sub ecx, 0x10
call fcn.004021e0
add eax, 0x10
mov dword [ebp - 0x1a0], eax
sub esp, 8
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x284]
call fcn.00411990
sub esp, 8
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1a0]
call fcn.0042ab20
mov esi, dword [ebp - 0x1a0]
mov edi, dword [ebx + 0xa0]
cmp dword [esi - 4], 1
jle 0x4ee03e
push dword [esi - 0xc]
lea ecx, [ebp - 0x1a0]
call fcn.00402b70
mov esi, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x1b0]
cmp dword [edx - 4], 1
jle 0x4ee05e
push dword [edx - 0xc]
lea ecx, [ebp - 0x1b0]
call fcn.00402b70
mov edx, dword [ebp - 0x1b0]
push edi
lea ecx, [ebp - 0x284]
call fcn.00414c70
mov edx, 0x561644
mov ecx, eax
call fcn.00414c70
mov edx, esi
mov ecx, eax
call fcn.00414c70
mov edx, 0x561648
mov ecx, eax
call fcn.00414c70
mov ecx, eax
call fcn.0042d920
mov edx, 0x561494
mov ecx, eax
call fcn.00414c70
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x284]
call fcn.004118b0
mov byte [ebp - 4], 0x17
cmp dword [eax + 0x14], 8
jb 0x4ee0b9
mov eax, dword [eax]
push eax
lea ecx, [ebx + 0x60]
call fcn.00402e00
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x16
call fcn.00403110
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x284]
call fcn.004118b0
cmp dword [eax + 0x14], 8
jb 0x4ee0e5
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea ecx, [ebp - 0x2c]
setne bl
call fcn.00403110
mov esi, dword [ebp - 0x1ec]
test bl, bl
je 0x4ee288
mov eax, dword [esi + 0xa8]
cmp dword [eax - 0xc], 0
je 0x4ee288
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x284]
call fcn.004118b0
mov byte [ebp - 4], 0x18
cmp dword [eax + 0x14], 8
jb 0x4ee132
mov eax, dword [eax]
mov edx, dword [esi + 0xa8]
mov ecx, eax
push 0
call fcn.004e0890
add esp, 4
mov byte [ebp - 4], 0x16
test eax, eax
lea ecx, [ebp - 0x2c]
setne bl
call fcn.00403110
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x284]
push eax
test bl, bl
jne 0x4ee1dc
call fcn.004118b0
cmp dword [eax + 0x14], 8
jb 0x4ee170
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
lea ecx, [ebp - 0x2c]
sete bl
call fcn.00403110
test bl, bl
je 0x4ee288
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x284]
call fcn.004118b0
mov edi, eax
mov byte [ebp - 4], 0x19
cmp dword [edi + 0x14], 8
jb 0x4ee1a9
mov edi, dword [edi]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
push eax
push edi
push 0x5616b8
push str.__s_:_Delete_File:__s_Error:__d
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x14
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c]
call fcn.00403110
jmp 0x4ee28e
mov edi, dword [ebp - 0x1ac]
mov dword [edi + 0x4ac], 1
call fcn.004118b0
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x14], 8
jb 0x4ee1fd
mov eax, dword [eax]
push eax
push str.GameDownload::CMainUI::StartDownloadBundle
push str.__s_:_ApkFile:__s_Verift_Ok
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c]
call fcn.00403110
push 0x8a
push str.D:jenkins_TrunkworkspaceROqqpcmgr_projAndroidEmulatorGameDownloadUIBundleInstall.cpp
push 0x56164c
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x1a8], 0
call fcn.00428d70
mov esi, eax
push 0
push fcn.004ece90
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [edi + 0x408]
call fcn.0042ae10
push eax
mov edx, esi
call fcn.004ee520
add esp, 4
lea ecx, [ebp - 0x17c]
call fcn.00428f50
lea ecx, [ebp - 0x284]
call fcn.00411510
jmp 0x4ee2f2
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esi + 0x28], 0
jne 0x4ee2bd
push 0
lea eax, [esi + 0xc8]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
test eax, eax
jne 0x4ee2a9
call ebx
mov edi, dword [ebp - 0x1ac]
mov ecx, edi
push 0xc8
call fcn.004f66f0
jmp 0x4ee2c3
mov edi, dword [ebp - 0x1ac]
mov ecx, edi
call fcn.004ed0c0
lea ecx, [ebp - 0x234]
call fcn.004118d0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x1c
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004989b0
add esp, 4
lea ecx, [ebp - 0x1a0]
call fcn.00402ed0
lea ecx, [ebp - 0x1b0]
call fcn.00402ed0
lea ecx, [ebp - 0x1b4]
call fcn.00402ed0
lea ecx, [ebp - 0x44]
call fcn.004062b0
lea ecx, [ebp - 0x1e4]
call fcn.0042d7f0
lea ecx, [ebp - 0x1cc]
call fcn.004d43c0
lea ecx, [ebp + 8]
call fcn.00403110
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049aa22
mov esp, ebp
pop ebp
ret 0x18