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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b2dab
mov eax, dword fs:[0]
push eax
mov eax, 0x2e7c
call fcn.004b0cc0
mov eax, dword [0x4e500c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2e6c], ecx
push str.CUNSvcLaunchUrNotice::DownloadUrNoticeBinary...
push 0x4e7f50
call fcn.00427440
add esp, 8
mov ax, word [0x4dad70]
mov word [ebp - 0x628], ax
push 0x206
push 0
lea ecx, [ebp - 0x626]
push ecx
call fcn.00487cb0
add esp, 0xc
mov dx, word [0x4dad74]
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.00487cb0
add esp, 0xc
mov cx, word [0x4dad78]
mov word [ebp - 0x830], cx
push 0x206
push 0
lea edx, [ebp - 0x82e]
push edx
call fcn.00487cb0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x2e6c]
call fcn.0042aa10
test eax, eax
jne 0x429d86
push str.error__failed_to_get_temp_path.
push 0x4e7f50
call fcn.00427440
add esp, 8
xor eax, eax
jmp 0x42a34c
push 0x104
lea ecx, [ebp - 0x830]
push ecx
mov ecx, dword [ebp - 0x2e6c]
call fcn.0042a820
test eax, eax
jne 0x429dba
push str.error__failed_to_get_app_path.
push 0x4e7f50
call fcn.00427440
add esp, 8
xor eax, eax
jmp 0x42a34c
mov dx, word [0x4dad7c]
mov word [ebp - 0xa38], dx
push 0x206
push 0
lea eax, [ebp - 0xa36]
push eax
call fcn.00487cb0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0xa38]
push ecx
call fcn.0043a680
add esp, 8
test eax, eax
je 0x429e1e
lea edx, [ebp - 0xa38]
push edx
push 0x104
lea eax, [ebp - 0x628]
push eax
call fcn.0048b0bd
add esp, 0xc
test eax, eax
je 0x429e1c
xor eax, eax
jmp 0x42a34c
jmp 0x429e37
push str.error__failed_to_get_download_url.
push 0x4e7f50
call fcn.00427440
add esp, 8
xor eax, eax
jmp 0x42a34c
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x429f32
mov dx, word [0x4dae48]
mov word [ebp - 0xe48], dx
push 0x206
push 0
lea eax, [ebp - 0xe46]
push eax
call fcn.00487cb0
add esp, 0xc
mov cx, word [0x4dae4c]
mov word [ebp - 0xc40], cx
push 0x206
push 0
lea edx, [ebp - 0xc3e]
push edx
call fcn.00487cb0
add esp, 0xc
push 0
push 0
push 0
push 0
push 0x104
lea eax, [ebp - 0xc40]
push eax
push 0x104
lea ecx, [ebp - 0xe48]
push ecx
lea edx, [ebp - 0x218]
push edx
call fcn.00498361
add esp, 0x24
mov ax, word [0x4dae50]
mov word [ebp - 0x420], ax
push 0x206
push 0
lea ecx, [ebp - 0x41e]
push ecx
call fcn.00487cb0
add esp, 0xc
lea edx, [ebp - 0xc40]
push edx
lea eax, [ebp - 0xe48]
push eax
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x429f32
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x2e6c]
call fcn.0042b2a0
movzx ecx, al
test ecx, ecx
jne 0x429f32
xor eax, eax
jmp 0x42a34c
lea ecx, [ebp - 0x2e54]
call fcn.00425870
mov dword [ebp - 4], 0
xor edx, edx
mov dword [ebp - 0x2e68], edx
mov dword [ebp - 0x2e64], edx
mov dword [ebp - 0x2e60], edx
push 0x1004
push 0
lea eax, [ebp - 0x1e4c]
push eax
call fcn.00487cb0
add esp, 0xc
push 0x1004
push 0
lea ecx, [ebp - 0x2e50]
push ecx
call fcn.00487cb0
add esp, 0xc
mov dword [ebp - 0x2e58], 0x1004
mov dword [ebp - 0x2e5c], 0x1004
push 0
lea edx, [ebp - 0x2e68]
push edx
push 0x4dae54
push 0x4dae68
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x2e54]
call fcn.00425a50
test eax, eax
je 0x429fd8
mov eax, dword [ebp - 0x2e68]
push eax
push str.ProxyTypeFromRegistory__d
push 0x4e7f50
call fcn.00427440
add esp, 0xc
push 0
lea ecx, [ebp - 0x2e58]
push ecx
lea edx, [ebp - 0x1e4c]
push edx
push 0x4daed4
push 0x4daee0
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x2e54]
call fcn.004258e0
test eax, eax
je 0x42a02b
lea eax, [ebp - 0x1e4c]
mov dword [ebp - 0x2e64], eax
mov ecx, dword [ebp - 0x2e64]
push ecx
push str.ProxyFromRegistory__s
push 0x4e7f50
call fcn.00427440
add esp, 0xc
push 0
lea edx, [ebp - 0x2e5c]
push edx
lea eax, [ebp - 0x2e50]
push eax
push 0x4daf44
push 0x4daf5c
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x2e54]
call fcn.004258e0
test eax, eax
je 0x42a07e
lea ecx, [ebp - 0x2e50]
mov dword [ebp - 0x2e60], ecx
mov edx, dword [ebp - 0x2e60]
push edx
push str.ProxyBypassFromRegistory__s
push 0x4e7f50
call fcn.00427440
add esp, 0xc
push 0
push str.ProxyType
push 0x4dafe0
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x2e54]
call fcn.00425b50
push 0
push str.Proxy
push 0x4db024
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x2e54]
call fcn.00425b50
push 0
push str.ProxyBypass
push 0x4db074
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x2e54]
call fcn.00425b50
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x628]
push ecx
push str.Download__s_to__s
push 0x4e7f50
call fcn.00427440
add esp, 0x10
mov dword [ebp - 0x2e70], 0
mov dword [ebp - 0x2e74], 0
jmp 0x42a117
mov edx, dword [ebp - 0x2e74]
add edx, 1
mov dword [ebp - 0x2e74], edx
mov eax, dword [ebp - 0x2e6c]
mov ecx, dword [ebp - 0x2e74]
cmp ecx, dword [eax + 8]
ja 0x42a1d9
mov dword [ebp - 0x2e70], 0
push 0
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x2e68]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2e64]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2e60]
mov dword [edx + 8], eax
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x628]
push ecx
lea edx, [ebp - 0x218]
push edx
call fcn.00408a90
add esp, 0x30
mov dword [ebp - 0x2e70], eax
cmp dword [ebp - 0x2e70], 0
je 0x42a18a
jmp 0x42a1d9
mov eax, dword [ebp - 0x2e6c]
mov ecx, dword [ebp - 0x2e74]
cmp ecx, dword [eax + 8]
jae 0x42a1c2
push str.Download_failed.____retry
push 0x4e7f50
call fcn.00427440
add esp, 8
mov edx, dword [ebp - 0x2e6c]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42a108
push str.Download_failed.____end
push 0x4e7f50
call fcn.00427440
add esp, 8
jmp 0x42a108
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.00426000
add esp, 8
test eax, eax
jne 0x42a1f8
mov dword [ebp - 0x2e70], 0
mov dword [ebp - 0x2e7c], 0
cmp dword [ebp - 0x2e70], 0
je 0x42a2ae
mov dword [ebp - 0x2e78], 0
jmp 0x42a22a
mov edx, dword [ebp - 0x2e78]
add edx, 1
mov dword [ebp - 0x2e78], edx
mov eax, dword [ebp - 0x2e6c]
mov ecx, dword [ebp - 0x2e78]
cmp ecx, dword [eax + 0x10]
ja 0x42a2ae
push 0
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 0x2e7c], eax
cmp dword [ebp - 0x2e7c], 0
je 0x42a262
jmp 0x42a2ae
mov ecx, dword [ebp - 0x2e6c]
mov edx, dword [ebp - 0x2e78]
cmp edx, dword [ecx + 0x10]
jae 0x42a297
push str.CopyFile_failed.____retry
push 0x4e7f50
call fcn.00427440
add esp, 8
mov eax, dword [ebp - 0x2e6c]
mov ecx, dword [eax + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42a21b
push str.CopyFile_failed.____end
push 0x4e7f50
call fcn.00427440
add esp, 8
jmp 0x42a21b
mov dword [ebp - 0x2e84], 0
cmp dword [ebp - 0x2e70], 0
je 0x42a2e2
cmp dword [ebp - 0x2e7c], 0
je 0x42a2e2
lea edx, [ebp - 0x830]
push edx
mov ecx, dword [ebp - 0x2e6c]
call fcn.0042a370
mov dword [ebp - 0x2e84], eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42a300
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x2e7c], 0
je 0x42a31e
cmp dword [ebp - 0x2e70], 0
je 0x42a31e
mov dword [ebp - 0x2e80], 1
jmp 0x42a328
mov dword [ebp - 0x2e80], 0
mov edx, dword [ebp - 0x2e80]
mov dword [ebp - 0x2e88], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e54]
call fcn.004258c0
mov eax, dword [ebp - 0x2e88]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043a792
mov esp, ebp
pop ebp
ret