Function at 0x458024
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0xb4], 1
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a8
call fcn.00418cd0
push eax
lea ecx, [ebp + 0xc]
push ecx
lea edx, [ebp - 0xd0]
push edx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a8
call fcn.00418ee0
mov ecx, eax
call fcn.00413ae0
movzx eax, al
test eax, eax
je 0x4586a7
lea ecx, [ebp - 0x4c]
call fcn.004219a0
lea ecx, [ebp - 0x84]
call fcn.00413220
lea ecx, [ebp - 0x64]
call fcn.004219a0
lea ecx, [ebp - 0x1c]
call fcn.004219a0
lea ecx, [ebp - 0x4c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.004da520
add esp, 8
call fcn.00423af0
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x4c]
call fcn.00424f20
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jne 0x457f63
mov dword [ebp - 0xa4], 0
jmp 0x457fd9
mov eax, dword [ebp - 0x94]
push eax
call fcn.00642390
add esp, 4
add eax, 1
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x3fffffff
jle 0x457f93
mov dword [ebp - 0xa0], 0
jmp 0x457fcd
mov eax, dword [ebp - 0x90]
shl eax, 1
call fcn.00613680
mov dword [ebp - 0xc8], esp
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.0044e0b0
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x84]
call fcn.00413a70
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x8c]
sub edx, 1
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 0xc
ja case.0x45801d.4
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x4586d0]
jmp dword [ecx*4 + 0x4586c0]
mov dword [ebp - 0xb8], 0
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.0042fc70
lea ecx, [ebp - 0x84]
call fcn.0040d3c0
push eax
push 0x688e48
call fcn.005564a0
add esp, 8
lea ecx, [ebp - 0xd4]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00418cd0
push eax
lea ecx, [ebp - 0xa8]
call fcn.00413ae0
movzx edx, al
test edx, edx
je 0x458187
sub esp, 0x18
mov esi, esp
mov ecx, 0x6fbb3c
call fcn.00422c50
push eax
mov ecx, esi
call fcn.004219c0
lea eax, [ebp - 0x34]
push eax
call fcn.006069e5
add esp, 0x1c
lea ecx, [ebp - 0xa8]
call fcn.00413b70
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0x7c]
push edx
call fcn.00606e1a
add esp, 8
mov ecx, eax
call fcn.00424f20
push eax
lea ecx, [ebp - 0x34]
call fcn.0044de90
lea ecx, [ebp - 0x7c]
call fcn.00421c30
push 0x688ec0
lea ecx, [ebp - 0x34]
call fcn.0044de90
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004da540
add esp, 8
push 0
lea ecx, [ebp - 0x34]
call fcn.00424f20
push eax
lea ecx, [ebp - 0x1c]
call fcn.00424f20
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [ebp - 0xbc], eax
lea edx, [ebp - 0x84]
push edx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00451240
cmp dword [ebp - 0xbc], 0
je 0x458161
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00418ca0
movzx eax, al
test eax, eax
je 0x45815f
mov dword [ebp - 0xb8], 1
jmp 0x45817f
push 0x40010
push 0x688ec8
push 0x688ed0
call fcn.0052ccf0
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x34]
call fcn.00421c30
lea edx, [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x80]
add eax, 0x694
push eax
call fcn.0044bd50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4582a7
lea ecx, [ebp - 0x84]
call fcn.0040d3c0
push eax
push 0x688ef8
call fcn.005564a0
add esp, 8
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004da540
add esp, 8
push 0x688e44
mov ecx, dword [ebp - 0x80]
add ecx, 0x694
call fcn.00413a70
lea ecx, [ebp - 0x98]
call fcn.00413220
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx + 0x6b8]
push edx
push 0x688f8c
lea eax, [ebp - 0x98]
push eax
call fcn.00422a10
add esp, 0xc
lea ecx, [ebp - 0x1c]
call fcn.00424f20
push eax
lea ecx, [ebp - 0xac]
call fcn.0044a380
push ecx
mov ecx, esp
mov edx, dword [ebp - 0x80]
add edx, 0x69c
push edx
call fcn.00421650
push ecx
mov ecx, esp
mov eax, dword [ebp - 0x80]
add eax, 0x698
push eax
call fcn.00421650
push ecx
mov ecx, esp
lea edx, [ebp - 0x98]
push edx
call fcn.00421650
push ecx
mov ecx, esp
mov eax, dword [ebp - 0x80]
add eax, 0x6bc
push eax
call fcn.00421650
lea ecx, [ebp - 0xac]
push ecx
call fcn.00441630
add esp, 0x14
lea ecx, [ebp - 0xac]
call fcn.00413870
push 0
push 0
push 0x2113
mov edx, dword [ebp - 0x80]
mov ecx, dword [edx + 0x60c]
add ecx, 4
call fcn.00416590
lea ecx, [ebp - 0x98]
call fcn.00413870
jmp 0x4582da
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x630
push ecx
call fcn.0044bd50
add esp, 8
movzx edx, al
test edx, edx
je 0x4582da
push 0x688f94
mov ecx, dword [ebp - 0x80]
add ecx, 0x630
call fcn.00413a70
push 0
push 1
push 0
mov ecx, dword [ebp - 0x80]
call fcn.004f91d0
mov ecx, dword [ebp - 0x80]
add ecx, 0x207c
call fcn.004f75f0
push 0
push 1
push 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x207c
call fcn.004f91d0
mov ecx, dword [ebp - 0x80]
add ecx, 0x2d50
call fcn.004f75f0
push 0
push 1
push 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x2d50
call fcn.004f91d0
mov ecx, dword [ebp - 0x80]
add ecx, 0x33b4
call fcn.004f75f0
push 0
push 1
push 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x33b4
call fcn.004f91d0
mov ecx, dword [ebp - 0x80]
add ecx, 0x26e8
call fcn.004f75f0
push 0
push 1
push 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x26e8
call fcn.004f91d0
mov dword [ebp - 0xb4], 0
cmp dword [ebp - 0xb8], 0
je 0x45838f
push 1
mov ecx, dword [ebp - 0x80]
call fcn.0045b090
jmp case.0x45801d.1
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0045aff0
lea ecx, [ebp - 0x84]
call fcn.0040d3c0
push eax
mov eax, dword [ebp + 0x10]
push eax
push str.CWallPaperPreview::OnDownloadPreviewImg
call fcn.005564a0
add esp, 0xc
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00418ca0
movzx ecx, al
test ecx, ecx
jne 0x458507
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.0042fc70
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00418cd0
push eax
lea ecx, [ebp - 0x88]
call fcn.00413ae0
movzx edx, al
test edx, edx
je 0x458452
mov dword [ebp - 0x9c], 1
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0045b090
mov eax, dword [ebp - 0x88]
push eax
lea ecx, [ebp - 0xdc]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00449940
jmp 0x458507
lea ecx, [ebp - 0x84]
call fcn.0040dd70
movzx edx, al
test edx, edx
je 0x458507
lea eax, [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00418b90
mov ecx, dword [eax]
mov dword [ebp - 0x88], ecx
lea edx, [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00418cd0
jmp 0x4584a7
lea ecx, [ebp - 0x88]
call fcn.00413c20
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x88]
call fcn.00413ae0
movzx ecx, al
test ecx, ecx
je 0x458507
lea ecx, [ebp - 0x88]
call fcn.00413b70
mov edx, dword [eax + 4]
cmp edx, dword [ebp + 0xc]
jne 0x458505
mov dword [ebp - 0x9c], 1
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0045b090
mov eax, dword [ebp - 0x88]
push eax
lea ecx, [ebp - 0xe4]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6d4
call fcn.00449940
jmp 0x458507
jmp 0x45849c
lea edx, [ebp - 0xe8]
push edx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a0
call fcn.00418cd0
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xec]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a0
call fcn.0042fc70
mov ecx, eax
call fcn.00413ae0
movzx edx, al
test edx, edx
je 0x45855c
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a0
call fcn.0042f8b0
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a8
call fcn.00450f40
mov edx, dword [ebp + 0xc]
push edx
call fcn.004da5a0
add esp, 4
cmp dword [ebp - 0x9c], 0
jne 0x45860f
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x660], 0
je 0x4585a5
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx + 0x660]
call fcn.004f7590
test eax, eax
jne 0x45860f
cmp dword [ebp - 0xb4], 0
je 0x45860f
lea edx, [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x80]
add eax, 0x694
push eax
call fcn.0044bd50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x45860f
mov edx, dword [ebp - 0x80]
mov dword [edx + 0x690], 1
cmp dword [ebp + 0x10], 0xc
jne 0x4585ec
mov dword [ebp - 0xb0], 0
jmp 0x4585f6
mov dword [ebp - 0xb0], 1
mov eax, dword [ebp - 0xb0]
push eax
push 0x8021
push 0x111
mov ecx, dword [ebp - 0x80]
call fcn.004f9ae0
jmp case.0x45801d.4
lea ecx, [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x80]
add edx, 0x630
push edx
call fcn.0044bd50
add esp, 8
movzx eax, al
test eax, eax
jne 0x458651
lea ecx, [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x80]
add edx, 0x694
push edx
call fcn.0044bd50
add esp, 8
movzx eax, al
test eax, eax
je case.0x45801d.4
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004da620
add esp, 4
mov esi, eax
lea edx, [ebp - 0x84]
push edx
mov ecx, dword [ebp - 0x80]
add ecx, 0x6a0
call fcn.0044bf60
mov dword [eax], esi
push 0
push 1
push 0
mov ecx, dword [ebp - 0x80]
call fcn.004f91d0
lea ecx, [ebp - 0x1c]
call fcn.00421c30
lea ecx, [ebp - 0x64]
call fcn.00421c30
lea ecx, [ebp - 0x84]
call fcn.00413870
lea ecx, [ebp - 0x4c]
call fcn.00421c30
xor eax, eax
lea esp, [ebp - 0xf0]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006135ac
mov esp, ebp
pop ebp
ret 0x10