Function at 0x1001e161
Capabilities:
Copy file

Disassembly:
push 0x30
mov eax, 0x1006cdf1
call fcn.100657fc
mov edi, ecx
mov dword [ebp - 0x30], edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, ebx
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 4
call fcn.10014460
push eax
lea ecx, [ebp - 0x28]
call fcn.100122c3
mov byte [ebp - 4], 5
call fcn.10014460
push eax
lea ecx, [ebp - 0x24]
call fcn.100122c3
lea eax, [ebp + 8]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x28]
call fcn.10011797
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
push dword [eax - 0xc]
push eax
call fcn.1001e83c
mov dword [ebp - 4], 6
lea edx, [ebp - 0x24]
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax + 0x78]
call fcn.10018607
test eax, eax
jns 0x1001e1e9
mov dword [edi + 4], eax
jmp 0x1001e390
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x24]
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
push eax
call fcn.1001e83c
push ebx
mov dword [ebp - 4], 6
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
dec eax
neg eax
sbb al, al
add al, 1
jne 0x1001e221
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1001e1e1
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.1001e810
mov esi, dword [ebp - 0x18]
test eax, eax
js 0x1001e1e1
mov eax, dword [esi]
lea ecx, [ebp - 0x2c]
push ecx
push 0x10008fe4
push esi
call dword [eax]
test eax, eax
js 0x1001e1e1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1c]
push dword [ebp + 0xc]
mov ebx, dword [ebp - 0x2c]
call fcn.1001753f
mov ecx, eax
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
mov eax, dword [ebx]
push edx
push dword [ecx]
push ebx
call dword [eax + 0x1c]
mov byte [ebp - 4], 0xb
push dword [ebp - 0x1c]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x34], eax
call ebx
mov eax, dword [ebp - 0x34]
test eax, eax
js 0x1001e1e1
cmp dword [ebp - 0x20], 0
je 0x1001e298
mov dword [edi + 4], 0x8972150b
jmp 0x1001e390
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x3c]
push dword [ebp + 0xc]
mov dword [ebp - 0x34], eax
call fcn.1001753f
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x38]
push dword [ebp + 0xc]
call fcn.1001753f
mov edx, eax
mov ecx, dword [ebp - 0x34]
lea ebx, [ebp - 0x20]
mov byte [ebp - 4], 0xe
push ebx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push dword [ebx]
push dword [edx]
push ecx
call dword [eax + 0x24]
push dword [ebp - 0x38]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x34], eax
call ebx
push dword [ebp - 0x3c]
call ebx
mov eax, dword [ebp - 0x34]
test eax, eax
js 0x1001e1e1
cmp byte [ebp + 0x10], 0
je 0x1001e369
and dword [ebp + 0x10], 0
and dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp + 0x10]
mov eax, dword [edi + 0x1c]
push ecx
push 0x7e8
mov ecx, dword [eax + 0x78]
call fcn.10017834
test al, al
mov eax, dword [edi + 0x1c]
jne 0x1001e333
push 0
mov eax, dword [eax + 0x78]
mov eax, dword [eax]
mov dword [edi + 4], eax
call ebx
push dword [ebp + 0x10]
call ebx
jmp 0x1001e390
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [eax + 0x78]
push 0x7f9
call fcn.10017834
push dword [ebp - 0x1c]
test al, al
jne 0x1001e350
mov eax, dword [edi + 0x1c]
jmp 0x1001e322
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
call fcn.10023e8b
push dword [ebp - 0x1c]
test al, al
je 0x1001e32a
call ebx
push dword [ebp + 0x10]
call ebx
mov dword [ebp - 4], 6
mov byte [ebp - 0x11], 1
jmp 0x1001e390
lea ecx, [ebp - 0x24]
call fcn.100122a8
lea ecx, [ebp - 0x28]
call fcn.100122a8
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1001e3b1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x1001e3c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
test esi, esi
je 0x1001e3d0
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp + 8]
call fcn.100122a8
lea ecx, [ebp + 0xc]
call fcn.100122a8
mov al, byte [ebp - 0x11]
call fcn.1006575a
ret 0xc