Function at 0x412310
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4700ee
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x4926cc]
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 - 0x29c], ecx
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 4], ebx
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, edi
je 0x412e4d
lea ebx, [ecx + 0x5c]
mov dword [ebp - 0x2a0], ebx
push esi
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x258], 0
call fcn.00403fa0
push ebx
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x224], 0
call fcn.00403fa0
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 2
call fcn.004202c0
mov eax, dword [eax]
mov dword [ebp - 0x290], eax
test eax, eax
je 0x41249a
cmp word [eax], 0
je 0x41249a
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4123f4
mov ebx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x228]
sub ecx, edx
sar ecx, 1
add ebx, ecx
mov dword [ebp - 0x2a4], ebx
cmp eax, ebx
jg 0x41247d
mov eax, 2
mov dword [ebp - 0x298], eax
cmp ebx, eax
jle 0x41243c
lea ebx, [ebx]
add eax, eax
cmp eax, ebx
jl 0x412430
mov dword [ebp - 0x298], eax
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x230]
call fcn.00455561
add esp, 8
test eax, eax
je 0x412476
mov ecx, dword [ebp - 0x22c]
xor edx, edx
mov dword [ebp - 0x230], eax
mov word [eax + ecx*2], dx
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x228], eax
jmp 0x41247c
mov eax, dword [ebp - 0x298]
inc eax
push dword [ebp - 0x290]
push eax
push dword [ebp - 0x230]
call fcn.004544c5
add esp, 0xc
mov dword [ebp - 0x22c], ebx
jmp 0x4124a6
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x4124c3
push eax
call fcn.004547da
add esp, 4
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x274], 0
test eax, eax
je 0x4124ea
push eax
call fcn.004547da
add esp, 4
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 0
call fcn.00403fa0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x240]
mov ebx, dword [ebp - 0x23c]
add eax, 5
mov dword [ebp - 0x298], eax
cmp ebx, eax
jg 0x412572
mov ebx, 2
cmp eax, ebx
jle 0x41253c
add ebx, ebx
cmp ebx, eax
jl 0x412536
lea eax, [ebx*2 + 2]
push eax
mov eax, dword [ebp - 0x244]
push eax
call fcn.00455561
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x412571
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x240]
xor edx, edx
mov word [ecx + eax*2], dx
mov dword [ebp - 0x23c], ebx
inc ebx
push str..tmp1
push ebx
mov ebx, dword [ebp - 0x244]
push ebx
call fcn.004544c5
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x230]
add esp, 0xc
test eax, eax
je 0x4125a3
cmp word [eax], 0
jne 0x4125a8
mov eax, 0x481274
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
je 0x412c7d
test ebx, ebx
je 0x4125c9
cmp word [ebx], 0
mov eax, ebx
jne 0x4125ce
mov eax, 0x481274
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
je 0x41278b
test ebx, ebx
je 0x4125ef
cmp word [ebx], 0
mov eax, ebx
jne 0x4125f4
mov eax, 0x481274
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jg 0x41278b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x290], eax
test ebx, ebx
je 0x412667
cmp word [ebx], 0
je 0x412667
sub esp, 8
lea edx, [ebp - 0x238]
mov ecx, ebx
call fcn.0041ac50
mov eax, dword [ebp - 0x238]
add esp, 8
mov dword [ebp - 0x294], eax
test eax, eax
je 0x412655
cmp byte [eax], 0
je 0x412655
mov eax, dword [ebp - 0x240]
mov ebx, dword [ebp - 0x244]
mov dword [ebp - 0x298], eax
jmp 0x412671
mov eax, dword [ebp - 0x240]
mov ebx, dword [ebp - 0x244]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], 0x479eb0
mov eax, dword [0x4969d0]
test al, 1
jne 0x4126bd
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 4
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x294]
push eax
push dword [ebp - 0x290]
push str.deletefile_err__errcode___d__file:__s
push str.UpdateMgr
push 0x118
push str.managerUpdateMgr.cpp
push 4
push 0x496990
call fcn.00402130
push 0x208
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.0045a8b0
add esp, 0x2c
test ebx, ebx
je 0x41270c
cmp word [ebx], 0
mov eax, ebx
jne 0x412711
mov eax, 0x481274
push eax
mov eax, dword [ebp - 0x298]
inc eax
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0045457c
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x27c], eax
mov eax, 0x10
add esp, 0xc
mov word [ebp - 0x274], ax
lea eax, [ebp - 0x284]
push eax
mov dword [ebp - 0x280], 3
mov dword [ebp - 0x278], 0
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
je 0x41278b
push eax
push str.SHFileOperation_err__ret_code___d
push str.UpdateMgr
push 0x124
push str.managerUpdateMgr.cpp
push 4
call fcn.0040f8f0
push eax
call fcn.00402130
add esp, 0x1c
test ebx, ebx
je 0x412797
cmp word [ebx], 0
mov edx, ebx
jne 0x41279c
mov edx, 0x481274
mov ebx, dword [ebp - 0x230]
test ebx, ebx
je 0x4127ae
cmp word [ebx], 0
mov ecx, ebx
jne 0x4127b3
mov ecx, 0x481274
call fcn.004217b0
mov dword [ebp - 0x290], eax
test eax, eax
je 0x412c0e
test ebx, ebx
je 0x412814
cmp word [ebx], 0
je 0x412814
sub esp, 8
lea edx, [ebp - 0x224]
mov ecx, ebx
call fcn.0041ac50
mov eax, dword [ebp - 0x224]
add esp, 8
test eax, eax
je 0x412806
cmp byte [eax], 0
je 0x412806
mov ebx, dword [ebp - 0x22c]
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x2a4], ebx
jmp 0x412824
mov ebx, dword [ebp - 0x22c]
mov dword [ebp - 0x2a4], ebx
jmp 0x41281a
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x294], 0x479eb0
mov eax, dword [0x4969d0]
test al, 1
jne 0x412870
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 5
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 3
push dword [ebp - 0x294]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x290]
push str.rename_retcode___d__errcode___d__file:__s
push str.UpdateMgr
push 0x12c
push str.managerUpdateMgr.cpp
push 2
push 0x496990
call fcn.00402130
mov eax, dword [ebp - 0x290]
add esp, 0x24
cmp eax, 0xd
jne 0x412a74
mov eax, dword [0x4969d0]
test al, 1
jne 0x412901
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 6
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 3
push str.rename_err_EACCES_newname_already_exists__tmp2_retry_
push str.UpdateMgr
push 0x12f
push str.managerUpdateMgr.cpp
push 2
push 0x496990
call fcn.00402130
mov eax, dword [ebp - 0x230]
add esp, 0x18
test eax, eax
je 0x412934
cmp word [eax], 0
jne 0x412939
mov eax, 0x481274
mov dword [ebp - 0x290], eax
test eax, eax
je 0x41299e
cmp word [eax], 0
je 0x41299e
test ebx, ebx
jns 0x412967
mov ebx, eax
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x412952
sub ebx, ecx
sar ebx, 1
mov dword [ebp - 0x2a4], ebx
push ebx
lea ecx, [ebp - 0x244]
call fcn.004045c0
push ebx
push dword [ebp - 0x290]
mov ebx, dword [ebp - 0x244]
push eax
push ebx
call fcn.00454b08
mov eax, dword [ebp - 0x2a4]
add esp, 0x10
xor ecx, ecx
mov word [ebx + eax*2], cx
mov dword [ebp - 0x240], eax
jmp 0x4129c3
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x4129bd
xor ecx, ecx
mov word [eax], cx
xor eax, eax
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], eax
jmp 0x4129c3
mov eax, dword [ebp - 0x298]
add eax, 5
push eax
lea ecx, [ebp - 0x244]
call fcn.004045c0
mov ebx, dword [ebp - 0x244]
push str..tmp2
push eax
push ebx
call fcn.004544c5
add dword [ebp - 0x240], 5
add esp, 0xc
test ebx, ebx
je 0x4129fa
cmp word [ebx], 0
mov edx, ebx
jne 0x4129ff
mov edx, 0x481274
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x412a0f
cmp word [eax], 0
jne 0x412a14
mov eax, 0x481274
mov ecx, eax
call fcn.004217b0
test eax, eax
je 0x412c7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x412d03
cmp word [eax], 0
je 0x412d03
sub esp, 8
lea edx, [ebp - 0x224]
mov ecx, eax
call fcn.0041ac50
mov esi, dword [ebp - 0x224]
add esp, 8
test esi, esi
je 0x412d09
cmp byte [esi], 0
je 0x412d09
mov eax, esi
jmp 0x412d0e
cmp eax, 0xffffffff
jne 0x412d90
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x294], eax
cmp eax, 0x20
jne 0x412aa5
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x250]
call fcn.004145d0
jmp 0x412c77
push str.rename_err_newname_already_exists__tmp2_retry_
push str.UpdateMgr
push 0x146
push str.managerUpdateMgr.cpp
push 2
call fcn.0040f8f0
push eax
call fcn.00402130
mov eax, dword [ebp - 0x230]
add esp, 0x18
test eax, eax
je 0x412ad9
cmp word [eax], 0
jne 0x412ade
mov eax, 0x481274
mov dword [ebp - 0x290], eax
test eax, eax
je 0x412b43
cmp word [eax], 0
je 0x412b43
test ebx, ebx
jns 0x412b0c
mov ebx, eax
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x412af7
sub ebx, ecx
sar ebx, 1
mov dword [ebp - 0x2a4], ebx
push ebx
lea ecx, [ebp - 0x244]
call fcn.004045c0
push ebx
push dword [ebp - 0x290]
mov ebx, dword [ebp - 0x244]
push eax
push ebx
call fcn.00454b08
mov eax, dword [ebp - 0x2a4]
add esp, 0x10
xor ecx, ecx
mov word [ebx + eax*2], cx
mov dword [ebp - 0x240], eax
jmp 0x412b5e
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x412b5e
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], ecx
push str..tmp2
lea ecx, [ebp - 0x244]
call fcn.004042b0
mov ebx, dword [ebp - 0x244]
test ebx, ebx
je 0x412b80
cmp word [ebx], 0
mov eax, ebx
jne 0x412b85
mov eax, 0x481274
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test ebx, ebx
je 0x412b98
cmp word [ebx], 0
mov edx, ebx
jne 0x412b9d
mov edx, 0x481274
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x412bad
cmp word [eax], 0
jne 0x412bb2
mov eax, 0x481274
mov ecx, eax
call fcn.004217b0
test eax, eax
jne 0x412d44
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x28c]
call fcn.00403fa0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x278]
call fcn.00403fa0
mov ebx, dword [ebp - 0x29c]
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebx + 0x80]
mov byte [ebp - 4], 7
call fcn.00415050
push eax
add eax, 0x10
push eax
lea eax, [ebp - 0x2b8]
jmp 0x412c59
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x28c]
call fcn.00403fa0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x278]
call fcn.00403fa0
mov ebx, dword [ebp - 0x29c]
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebx + 0x80]
mov byte [ebp - 4], 8
call fcn.00415050
push eax
add eax, 0x10
push eax
lea eax, [ebp - 0x2b0]
push ecx
push eax
lea ecx, [ebx + 0x80]
call fcn.00415090
lea ecx, [ebp - 0x28c]
call fcn.00413610
inc dword [ebp - 0x2a8]
mov ebx, dword [ebp - 0x244]
test ebx, ebx
je 0x412c8a
push ebx
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x412c9d
push eax
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x412cb0
push eax
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x412cc3
push eax
call fcn.004547da
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x412cda
push eax
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x412ced
push eax
call fcn.004547da
add esp, 4
add esi, 0x14
cmp esi, edi
je 0x412e41
mov ebx, dword [ebp - 0x2a0]
jmp 0x412380
mov esi, dword [ebp - 0x224]
mov eax, 0x479eb0
push eax
push edi
push str.rename_to_tmp2_err_EACCES__errcod___d_file:__s
push str.UpdateMgr
push 0x137
push str.managerUpdateMgr.cpp
push 4
call fcn.0040f8f0
push eax
call fcn.00402130
mov ecx, dword [ebp - 0x29c]
add esp, 0x20
call fcn.004136a0
jmp 0x412e0d
lea ecx, [ebp - 0x230]
call fcn.0040f980
push eax
push dword [ebp - 0x294]
push str.rename_to_tmp2_err__errcod___d_file:__s
push str.UpdateMgr
push 0x14e
push str.managerUpdateMgr.cpp
push 4
call fcn.0040f8f0
push eax
call fcn.00402130
mov ecx, dword [ebp - 0x29c]
add esp, 0x20
call fcn.004136a0
mov esi, dword [ebp - 0x224]
jmp 0x412e0d
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x412dc6
cmp word [eax], 0
je 0x412dc6
sub esp, 8
lea edx, [ebp - 0x224]
mov ecx, eax
call fcn.0041ac50
mov esi, dword [ebp - 0x224]
add esp, 8
test esi, esi
je 0x412dcc
cmp byte [esi], 0
je 0x412dcc
mov eax, esi
jmp 0x412dd1
mov esi, dword [ebp - 0x224]
mov eax, 0x479eb0
push eax
push dword [ebp - 0x290]
push str.rename_err_other_wise_errcod___d_file:__s
push str.UpdateMgr
push 0x15b
push str.managerUpdateMgr.cpp
push 4
call fcn.0040f8f0
push eax
call fcn.00402130
mov ecx, dword [ebp - 0x29c]
add esp, 0x20
call fcn.004136a0
mov ebx, dword [ebp - 0x244]
test ebx, ebx
je 0x412e1a
push ebx
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x412e2d
push eax
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x413512
push eax
jmp 0x41350a
mov ebx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x250]
mov ecx, ebx
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
je 0x41354c
mov ebx, dword [ebp - 0x29c]
mov eax, dword [0x4969d0]
mov dword [ebx + 8], esi
test al, 1
jne 0x412ebd
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 9
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 0
push esi
push str.begin_ulockFileList_file_count:__d
push str.UpdateMgr
push 0x16c
push str.managerUpdateMgr.cpp
push 0
push 0x496990
call fcn.00402130
add esp, 0x1c
lea ecx, [ebp - 0x250]
call fcn.0041a2a0
test eax, eax
jne 0x412f7d
mov eax, dword [0x4969d0]
test al, 1
jne 0x412f40
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 0xa
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 0
push str.unlock_fail
push str.UpdateMgr
push 0x170
push str.managerUpdateMgr.cpp
push 4
push 0x496990
call fcn.00402130
add esp, 0x18
call fcn.00410b00
mov ecx, ebx
mov dword [eax + 4], 6
call fcn.004136a0
xor esi, esi
jmp 0x4135c6
mov ebx, dword [ebp - 0x24c]
mov edi, dword [ebp - 0x250]
mov ecx, ebx
sub ecx, edi
mov eax, 0x66666667
imul ecx
mov eax, dword [0x4969d0]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
test al, 1
jne 0x412fea
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 0xb
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 0
push esi
push str.end_ulockFileList_file_count:__d
push str.UpdateMgr
push 0x175
push str.managerUpdateMgr.cpp
push 0
push 0x496990
call fcn.00402130
add esp, 0x1c
mov esi, edi
cmp edi, ebx
je 0x41354c
mov ebx, dword [ebp - 0x29c]
add ebx, 0x5c
mov dword [ebp - 0x298], ebx
push esi
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x258], 0
call fcn.00403fa0
push ebx
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x224], 0
call fcn.00403fa0
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0xd
call fcn.004202c0
mov eax, dword [eax]
mov dword [ebp - 0x2a0], eax
test eax, eax
je 0x413132
cmp word [eax], 0
je 0x413132
mov ecx, eax
lea edx, [ecx + 2]
jmp 0x4130a0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4130a0
mov eax, dword [ebp - 0x22c]
mov edi, dword [ebp - 0x228]
sub ecx, edx
sar ecx, 1
add eax, ecx
mov dword [ebp - 0x290], eax
cmp edi, eax
jle 0x4130cf
mov ebx, dword [ebp - 0x230]
jmp 0x413114
mov edi, 2
cmp eax, edi
jle 0x4130de
add edi, edi
cmp edi, eax
jl 0x4130d8
mov ebx, dword [ebp - 0x230]
lea eax, [edi*2 + 2]
push eax
push ebx
call fcn.00455561
add esp, 8
test eax, eax
je 0x413113
mov ecx, dword [ebp - 0x22c]
mov ebx, eax
xor edx, edx
mov dword [ebp - 0x230], ebx
mov word [eax + ecx*2], dx
mov dword [ebp - 0x228], edi
inc edi
push dword [ebp - 0x2a0]
push edi
push ebx
call fcn.004544c5
mov eax, dword [ebp - 0x290]
add esp, 0xc
mov dword [ebp - 0x22c], eax
jmp 0x413138
mov ebx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x413155
push eax
call fcn.004547da
add esp, 4
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x274], 0
test eax, eax
je 0x41317c
push eax
call fcn.004547da
add esp, 4
xor eax, eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
test ebx, ebx
je 0x413250
cmp word [ebx], ax
je 0x413250
mov edi, ebx
lea edx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x4131b6
sub edi, edx
sar edi, 1
jns 0x4131cb
xor eax, eax
jmp 0x413232
mov eax, 2
mov dword [ebp - 0x290], eax
cmp edi, eax
jle 0x4131ec
lea ebx, [ebx]
add eax, eax
cmp eax, edi
jl 0x4131e0
mov dword [ebp - 0x290], eax
lea eax, [eax*2 + 2]
push eax
push 0
call fcn.00455561
add esp, 8
test eax, eax
je 0x413225
xor edx, edx
mov ecx, eax
mov word [eax], dx
mov eax, dword [ebp - 0x290]
mov edx, eax
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x23c], edx
jmp 0x413231
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x244]
inc eax
push edi
push ebx
push eax
push ecx
call fcn.00454b08
mov ecx, dword [ebp - 0x244]
add esp, 0x10
xor eax, eax
mov word [ecx + edi*2], ax
mov eax, dword [ebp - 0x294]
lea edx, [edi + 5]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x2a0], edx
cmp eax, edx
jg 0x4132b2
mov eax, 2
mov dword [ebp - 0x290], eax
cmp edx, eax
jle 0x41327c
add eax, eax
cmp eax, edx
jl 0x413270
mov dword [ebp - 0x290], eax
lea eax, [eax*2 + 2]
push eax
push ecx
call fcn.00455561
add esp, 8
test eax, eax
je 0x4132ab
xor ecx, ecx
mov dword [ebp - 0x244], eax
mov word [eax + edi*2], cx
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x23c], eax
jmp 0x4132b1
mov eax, dword [ebp - 0x290]
inc eax
mov edi, dword [ebp - 0x244]
push str..tmp1
push eax
push edi
call fcn.004544c5
mov eax, dword [ebp - 0x2a0]
add esp, 0xc
mov dword [ebp - 0x240], eax
test ebx, ebx
je 0x4132df
cmp word [ebx], 0
mov eax, ebx
jne 0x4132e4
mov eax, 0x481274
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
je 0x41339d
test edi, edi
je 0x413305
cmp word [edi], 0
mov edx, edi
jne 0x41330a
mov edx, 0x481274
test ebx, ebx
je 0x413316
cmp word [ebx], 0
mov ecx, ebx
jne 0x41331b
mov ecx, 0x481274
call fcn.004217b0
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x41340e
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x28c]
call fcn.00403fa0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x278]
call fcn.00403fa0
mov edi, dword [ebp - 0x29c]
lea eax, [ebp - 0x28c]
push eax
lea ecx, [edi + 0x80]
mov byte [ebp - 4], 0x10
call fcn.00415050
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [edi + 0x80]
call fcn.00415090
lea ecx, [ebp - 0x28c]
call fcn.00413610
inc dword [ebp - 0x2a8]
mov edi, dword [ebp - 0x244]
test edi, edi
je 0x4133aa
push edi
call fcn.004547da
add esp, 4
test ebx, ebx
je 0x4133b7
push ebx
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x4133ca
push eax
call fcn.004547da
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4133e1
push eax
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x4133f4
push eax
call fcn.004547da
add esp, 4
add esi, 0x14
cmp esi, dword [ebp - 0x24c]
je 0x41354c
mov ebx, dword [ebp - 0x298]
jmp 0x413027
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2a0], eax
test ebx, ebx
je 0x41345c
cmp word [ebx], 0
je 0x41345c
sub esp, 8
lea edx, [ebp - 0x224]
mov ecx, ebx
call fcn.0041ac50
mov esi, dword [ebp - 0x224]
add esp, 8
test esi, esi
je 0x413454
cmp byte [esi], 0
je 0x413454
mov ebx, dword [ebp - 0x230]
mov dword [ebp - 0x290], esi
jmp 0x41346c
mov ebx, dword [ebp - 0x230]
jmp 0x413462
mov esi, dword [ebp - 0x224]
mov dword [ebp - 0x290], 0x479eb0
mov eax, dword [0x4969d0]
test al, 1
jne 0x4134b8
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 0xf
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 0xe
push dword [ebp - 0x290]
push dword [ebp - 0x2a0]
push dword [ebp - 0x294]
push str.rename_err_renameFile_retcode___d__errcode___d__file___s
push str.UpdateMgr
push 0x185
push str.managerUpdateMgr.cpp
push 4
push 0x496990
call fcn.00402130
mov ecx, dword [ebp - 0x29c]
add esp, 0x24
call fcn.004136a0
test edi, edi
je 0x413505
push edi
call fcn.004547da
add esp, 4
test ebx, ebx
je 0x413512
push ebx
call fcn.004547da
add esp, 4
test esi, esi
je 0x41351f
push esi
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x413532
push eax
call fcn.004547da
add esp, 4
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x413545
push eax
call fcn.004547da
add esp, 4
xor esi, esi
jmp 0x4135c6
mov eax, dword [0x4969d0]
test al, 1
jne 0x413598
or eax, 1
mov dword [0x4969d0], eax
mov byte [ebp - 4], 0x11
sub esp, 8
mov dword [0x4969ac], 0
mov dword [0x4969b0], 0
mov dword [0x4969b4], 0
call fcn.00401b40
push 0x471ef0
call fcn.00453882
add esp, 4
mov byte [ebp - 4], 0
push dword [ebp - 0x2a8]
push str._d_file_rename_success
push str.UpdateMgr
push 0x18e
push str.managerUpdateMgr.cpp
push 2
push 0x496990
call fcn.00402130
add esp, 0x1c
mov esi, 1
mov ebx, dword [ebp - 0x250]
test ebx, ebx
je 0x4135ed
push dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x24c]
push ecx
mov ecx, ebx
call fcn.00410a00
push ebx
call fcn.00452ca1
add esp, 0xc
mov eax, esi
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.00452ca6
mov esp, ebp
pop ebp
ret 4