Function at 0x100772b2
Capabilities:
Check if file exists
Copy file
Delete file
Get file attributes

Disassembly:
push 0x2a4
mov eax, 0x1018d9e2
call fcn.10188e66
mov ebx, ecx
mov dword [ebp - 0x29c], ebx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x10077304
test byte [eax + 0x44], 4
je 0x10077304
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x58
pop ecx
call fcn.1004a045
lea edi, [ebx + 0x14]
cmp dword [edi + 0x14], 8
jb 0x10077311
mov eax, dword [edi]
jmp 0x10077313
mov eax, edi
push ecx
push eax
push ecx
mov edx, 0x104
lea ecx, [ebp - 0x218]
call fcn.10045157
mov esi, eax
test esi, esi
js 0x10077aad
cmp dword [ebx + 0xc], 0
mov eax, 0x100200e0
jne 0x10077340
mov eax, 0x100200c8
push eax
mov edx, 0x104
lea ecx, [ebp - 0x218]
call fcn.10045073
mov esi, eax
test esi, esi
jns 0x10077386
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x10077ad5
test byte [ecx + 0x44], 1
je 0x10077ad5
push esi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x5a
jmp 0x10077acf
xor eax, eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2a0], eax
lea edx, [ebp - 0x2a4]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x218]
call fcn.100a9adb
mov esi, eax
test esi, esi
jns 0x100773f2
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x100773da
test byte [ecx + 0x44], 1
je 0x100773da
push esi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x5b
pop ecx
call fcn.1004a069
push esi
lea ecx, [ebp - 0x294]
call fcn.10044b9d
push 0x101c213c
mov eax, ecx
jmp 0x10077ae8
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x290]
call fcn.1005236c
mov byte [ebp - 4], 2
lea eax, [ebp - 0x2a0]
mov edx, dword [ebx + 0x30]
mov ecx, dword [ebp - 0x2a4]
push eax
call fcn.100a9cf1
mov esi, eax
test esi, esi
jns 0x10077447
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x100773da
test byte [ecx + 0x44], 1
je 0x100773da
push esi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x5c
jmp 0x100773d4
push 0x10020108
push dword [ebx + 0x2c]
call dword [sym.imp.WINSPOOL.DRV_DeletePrinterDataW]
cmp byte [ebx + 0x10], 0
je 0x10077827
lea ecx, [ebp - 0x29c]
call fcn.100528a8
push 0x1001fcc8
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x260]
call fcn.1006e1db
mov byte [ebp - 4], 4
cmp byte [ebx + 0x11], 0
je 0x10077501
cmp dword [ebp - 0x24c], 8
mov eax, dword [ebp - 0x260]
jae 0x1007749f
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10077501
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x100774e6
test byte [eax + 0x44], 4
je 0x100774e6
cmp dword [ebp - 0x24c], 8
mov ecx, dword [ebp - 0x260]
jae 0x100774d2
lea ecx, [ebp - 0x260]
push ecx
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x5d
pop ecx
call fcn.1004a093
cmp dword [ebp - 0x24c], 8
jb 0x1007759f
mov esi, dword [ebp - 0x260]
test esi, esi
jne 0x100775aa
mov edi, dword [ebx + 0x30]
push 1
push 1
push 0
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x101d880c]
mov ecx, edi
call esi
mov esi, eax
test esi, esi
jne 0x100775a7
mov edi, dword [ebx + 0x30]
push 1
push 0
push 0
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x101d880c]
mov ecx, edi
call esi
mov esi, eax
test esi, esi
jne 0x100775a7
mov eax, dword [0x101c33f0]
mov ebx, 0x101c33f0
mov esi, 0x8000ffff
cmp eax, ebx
je 0x100773da
test byte [eax + 0x44], 1
je 0x1007757a
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x5e
pop ecx
call fcn.1004a045
mov eax, dword [0x101c33f0]
cmp eax, ebx
je 0x100773da
test byte [eax + 0x44], 1
je 0x100773da
push esi
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x5f
jmp 0x100773d4
lea esi, [ebp - 0x260]
jmp 0x100775aa
lea edi, [ebx + 0x14]
push 0x100200f8
lea ecx, [ebp - 0x278]
call fcn.1005236c
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 5
push eax
mov edx, edi
lea ecx, [ebp - 0x230]
call fcn.100797a2
mov byte [ebp - 4], 6
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x100775eb
lea eax, [ebp - 0x230]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1007763b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x1007760e
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x100773da
test byte [eax + 0x44], 1
je 0x100773da
push esi
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x60
jmp 0x100773d4
mov ecx, 0x101d6b10
call fcn.1005773e
test al, al
je 0x1007764e
call fcn.1008349f
cmp dword [ebp - 0x264], 8
mov eax, dword [ebp - 0x268]
lea ecx, [eax*2 + 2]
mov eax, dword [ebp - 0x278]
jae 0x10077670
lea eax, [ebp - 0x278]
push ecx
push eax
push 1
push 0x10020108
push dword [ebx + 0x2c]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataW]
mov esi, eax
test esi, esi
jle 0x10077693
movzx esi, si
or esi, 0x80070000
test esi, esi
jns 0x100776c2
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x100773da
test byte [eax + 0x44], 1
je 0x100773da
push esi
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x61
jmp 0x100773d4
push 0x1001fca8
mov edx, edi
lea ecx, [ebp - 0x248]
call fcn.1006e1db
mov byte [ebp - 4], 7
cmp dword [ebp - 0x234], 8
mov edx, dword [ebp - 0x248]
jae 0x100776ed
lea edx, [ebp - 0x248]
cmp dword [ebp - 0x21c], 8
mov ecx, dword [ebp - 0x230]
jae 0x10077702
lea ecx, [ebp - 0x230]
call fcn.100e31ac
mov eax, dword [ebx + 0x30]
test byte [eax + 0x3c], 0x18
mov eax, dword [ebp - 0x248]
setne cl
cmp dword [ebp - 0x234], 8
jae 0x10077726
lea eax, [ebp - 0x248]
mov esi, dword [ebp - 0x2a0]
push ecx
push eax
mov ecx, esi
call fcn.100a9d92
mov edi, eax
test edi, edi
jns 0x10077769
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x10077763
test byte [ecx + 0x44], 1
je 0x10077763
push edi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x62
pop ecx
call fcn.1004a069
push edi
jmp 0x100773db
cmp dword [ebp - 0x234], 8
mov eax, dword [ebp - 0x248]
jae 0x1007777e
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100777d2
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x100777d2
test byte [eax + 0x44], 2
je 0x100777d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x234], 8
mov edx, eax
mov ecx, dword [ebp - 0x248]
jae 0x100777b8
lea ecx, [ebp - 0x248]
mov eax, dword [0x101c33f0]
push edx
push ecx
mov edx, 0x10020390
push dword [eax + 0x3c]
push dword [eax + 0x38]
push 0x63
pop ecx
call fcn.1004a0f3
xor edi, edi
lea ecx, [ebp - 0x248]
push edi
push 1
call fcn.10052803
push edi
push 1
lea ecx, [ebp - 0x230]
call fcn.10052803
push edi
push 1
lea ecx, [ebp - 0x278]
call fcn.10052803
push edi
push 1
lea ecx, [ebp - 0x260]
call fcn.10052803
mov byte [ebp - 4], 2
cmp dword [ebp - 0x29c], edi
je 0x10077a1f
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x10077a1f
mov edi, dword [ebx + 0x30]
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
push 1
setne byte [ebp - 0x294]
mov byte [ebp - 0x295], cl
mov eax, dword [edi]
push dword [ebp - 0x294]
push ecx
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x101d880c]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x2a0]
test eax, eax
je 0x100778bb
push dword [ebp - 0x294]
mov ecx, esi
push eax
call fcn.100a9d92
mov edi, eax
test edi, edi
jns 0x100778b4
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x1007789c
test byte [ecx + 0x44], 1
je 0x1007789c
push edi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x64
pop ecx
call fcn.1004a069
push edi
lea ecx, [ebp - 0x29c]
call fcn.10044b9d
push 0x101c213c
mov eax, ecx
jmp 0x10077ae8
mov byte [ebp - 0x295], 1
cmp dword [ebx + 0xc], 0
mov eax, 0x1001fca8
jne 0x100778cb
mov eax, 0x1001fda4
push eax
lea edx, [ebx + 0x14]
lea ecx, [ebp - 0x230]
call fcn.1006e1db
mov byte [ebp - 4], 8
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x100778f3
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1007795c
mov eax, dword [ebx + 0x30]
test byte [eax + 0x3c], 0x18
mov eax, dword [ebp - 0x230]
setne cl
cmp dword [ebp - 0x21c], 8
jae 0x1007791e
lea eax, [ebp - 0x230]
push ecx
push eax
mov ecx, esi
call fcn.100a9d92
mov edi, eax
test edi, edi
jns 0x1007795c
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x1007789c
test byte [ecx + 0x44], 1
je 0x1007789c
push edi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x65
jmp 0x10077896
cmp dword [ebx + 0xc], 0
mov ebx, dword [ebx + 0x30]
push 1
sete byte [ebp - 0x294]
push dword [ebp - 0x294]
mov eax, dword [ebx]
push 0
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x101d880c]
mov ecx, ebx
call edi
test eax, eax
je 0x100779cc
push dword [ebp - 0x294]
mov ecx, esi
push eax
call fcn.100a9d92
mov edi, eax
test edi, edi
jns 0x10077a06
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x1007789c
test byte [ecx + 0x44], 1
je 0x1007789c
push edi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x66
jmp 0x10077896
cmp byte [ebp - 0x295], 0
jne 0x10077a06
mov eax, dword [0x101c33f0]
mov esi, 0x80070002
cmp eax, 0x101c33f0
je 0x10077a00
test byte [eax + 0x44], 1
je 0x10077a00
push esi
push dword [eax + 0x3c]
mov edx, 0x10020390
push dword [eax + 0x38]
push 0x67
pop ecx
call fcn.1004a069
push esi
jmp 0x1007789d
push 0
push 1
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.10052803
mov ebx, dword [ebp - 0x29c]
mov edi, dword [esi + 8]
lea eax, [ebp - 0x2ac]
push eax
push 4
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2b0]
push eax
push 0x10020060
push dword [ebx + 0x2c]
call dword [sym.imp.WINSPOOL.DRV_GetPrinterDataW]
cmp eax, 2
je 0x10077a58
test eax, eax
jne 0x10077a75
cmp dword [ebp - 0x2a8], edi
je 0x10077a75
lea ecx, [ebp - 0x2a4]
call fcn.10079352
push edi
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
push dword [ebx + 0x2c]
call fcn.10076c0d
push 0
lea ecx, [ebp - 0x290]
call fcn.100527dc
lea ecx, [ebp - 0x290]
call fcn.10077281
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void__]
pop ecx
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 4], 9
call fcn.10079352
call fcn.10188e03
ret
mov ecx, dword [0x101c33f0]
cmp ecx, 0x101c33f0
je 0x10077ad5
test byte [ecx + 0x44], 1
je 0x10077ad5
push esi
push dword [ecx + 0x3c]
mov edx, 0x10020390
push dword [ecx + 0x38]
push 0x59
pop ecx
call fcn.1004a069
push esi
lea ecx, [ebp - 0x2a0]
call fcn.10044b9d
push 0x101c213c
mov eax, ecx
push eax
call sub.msvcrt.dll__CxxThrowException
int3