Function at 0x406890
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x628
mov eax, dword [0x5b0050]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x620], ecx
mov dword [ebp - 0x628], 0
lea eax, [ebp - 0x628]
push eax
push 0x104
lea ecx, [ebp - 0x61c]
push ecx
push 1
push 0x5bdd08
push 0
call dword [sym.imp.WINSPOOL.DRV_GetPrinterDriverDirectoryW]
test eax, eax
jne 0x4068e0
xor eax, eax
jmp 0x406c02
push 0x58f990
lea edx, [ebp - 0x61c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
mov dword [ebp - 0x624], 0
jmp 0x40690d
mov eax, dword [ebp - 0x624]
add eax, 1
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 8
jge 0x4069ab
mov ecx, dword [ebp - 0x620]
add ecx, 0x50c
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov eax, dword [ebp - 0x624]
shl eax, 8
mov ecx, dword [ebp - 0x620]
lea edx, [ecx + eax + 0x714]
push edx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov eax, dword [ebp - 0x624]
shl eax, 8
mov ecx, dword [ebp - 0x620]
lea edx, [ecx + eax + 0x714]
push edx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp 0x4068fe
mov eax, dword [ebp - 0x620]
add eax, 0x50c
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov edx, dword [ebp - 0x620]
add edx, 0x1114
push edx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov eax, dword [ebp - 0x620]
add eax, 0x1114
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x620]
add ecx, 0x50c
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov eax, dword [ebp - 0x620]
add eax, 0x1314
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea edx, [ebp - 0x61c]
push edx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov ecx, dword [ebp - 0x620]
add ecx, 0x1314
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, dword [ebp - 0x620]
add edx, 0x50c
push edx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov ecx, dword [ebp - 0x620]
add ecx, 0x1414
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea eax, [ebp - 0x61c]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov edx, dword [ebp - 0x620]
add edx, 0x1414
push edx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [ebp - 0x620]
add eax, 0x50c
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov edx, dword [ebp - 0x620]
add edx, 0x1514
push edx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov eax, dword [ebp - 0x620]
add eax, 0x1514
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x620]
add ecx, 0x50c
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov eax, dword [ebp - 0x620]
add eax, 0x1614
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea edx, [ebp - 0x61c]
push edx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov ecx, dword [ebp - 0x620]
add ecx, 0x1614
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00531c35
mov esp, ebp
pop ebp
ret