Function at 0x452110
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x496fc9
mov eax, dword fs:[0]
push eax
sub esp, 0x830
mov eax, dword [0x4d01d4]
xor eax, esp
mov dword [esp + 0x82c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d01d4]
xor eax, esp
push eax
lea eax, [esp + 0x844]
mov dword fs:[0], eax
lea eax, [esp + 0x20]
mov esi, ecx
push eax
mov dword [esp + 0x1c], esi
call fcn.0040a180
add esp, 4
mov dword [esp + 0x84c], 0
mov ecx, eax
call fcn.0048cdb0
mov ebx, eax
call fcn.00410cd0
mov dword [esp + 0x84c], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.0048cfe0
mov eax, dword [0x4e535c]
test eax, eax
je 0x452196
call eax
lea ebp, [esi + 0x334]
mov ecx, ebp
mov dword [esp + 0x14], 2
lea edi, [esi + 0x350]
call fcn.0048cdd0
push 1
mov ecx, edi
mov ebx, eax
call fcn.0048cdd0
push eax
mov ecx, ebx
call fcn.004112e0
add esp, 8
test eax, eax
jle 0x45224a
mov ecx, ebp
call fcn.0048cdd0
push 2
mov ecx, edi
mov ebx, eax
call fcn.0048cdd0
push eax
mov ecx, ebx
call fcn.004112e0
add esp, 8
test eax, eax
jle 0x45224a
mov ecx, edi
call fcn.0048cdd0
lea edx, [esp + 0x3c]
mov ecx, eax
call fcn.00411400
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebp
call fcn.0048d040
test al, al
je 0x45223d
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45223d
push 0
mov ecx, ebp
call fcn.0048cdd0
push eax
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [esp + 0x14], 6
jmp 0x452484
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411130
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.004111b0
mov ecx, ebp
call fcn.0048cdd0
mov ecx, edi
mov ebx, eax
call fcn.0048cdd0
push eax
mov ecx, ebx
call fcn.00411040
add esp, 4
test al, al
jne 0x4522a6
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411130
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.004111b0
jmp 0x452484
xor ebp, ebp
cmp byte [esi + 0x304], 0
jne 0x452476
test ebp, ebp
jne 0x452381
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411530
mov dword [esp + 0x14], eax
cmp eax, 6
je 0x4523b5
cmp eax, 7
je 0x45243b
push 0x20
call fcn.004710bf
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x84c], 1
test eax, eax
je 0x45231b
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov esi, eax
jmp 0x45231d
xor esi, esi
mov dword [esp + 0x84c], 0xffffffff
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411690
mov ecx, edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
call fcn.0048cdd0
mov ebx, eax
call fcn.00411740
mov ecx, edi
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edx
call fcn.0048cdd0
mov ebx, eax
call fcn.004115e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push esi
push edx
push 0x48b
mov dword [esi + 0xc], eax
call dword [sym.imp.DTLUI.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov esi, dword [esp + 0x18]
inc ebp
mov eax, 0x99999999
imul ebp
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + ebp]
push 0xc8
lea ebp, [ecx + eax*4]
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esi + 0x304], 0
je 0x4522b5
jmp 0x452476
push str.CWndManualUpdateClient_update_down_over_r_n
push 0x194
push str..WndManualUpdateClient.cpp
push 8
call fcn.0048ccc0
push eax
call fcn.0048c3e0
add esp, 0x14
mov ecx, edi
call fcn.0048cdd0
lea edx, [esp + 0x3c]
mov ecx, eax
call fcn.00411400
lea edx, [esp + 0x3c]
lea ebx, [esi + 0x334]
push edx
mov ecx, ebx
call fcn.0048d040
test al, al
je 0x45242b
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45242b
push 0
mov ecx, ebx
call fcn.0048cdd0
push eax
lea ecx, [esp + 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411130
jmp 0x452476
push str.CWndManualUpdateClient_update_down_failed_r_n
push 0x1a1
push str..WndManualUpdateClient.cpp
push 1
call fcn.0048ccc0
push eax
call fcn.0048c3e0
add esp, 0x14
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411130
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.004111b0
mov ecx, edi
call fcn.0048cdd0
mov ebx, eax
call fcn.00411130
mov eax, dword [esp + 0x14]
push 0
push eax
push 0x48b
mov ecx, esi
call dword [sym.imp.DTLUI.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [0x4e5360]
test eax, eax
je 0x4524aa
call eax
mov eax, dword [0x4e5358]
test eax, eax
je 0x4524b5
call eax
mov ecx, dword [esp + 0x844]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x82c]
xor ecx, esp
call fcn.00470f4c
add esp, 0x83c
ret