Function at 0x101772ae
Capabilities:
Clear file content
Get common file path

Disassembly:
push ebp
sub esp, 0x13c
lea ebp, [esp - 4]
mov eax, dword [0x101c6444]
xor eax, ebp
mov dword [ebp + 0x13c], eax
push 0x34
mov eax, 0x1019583d
call fcn.1015d10b
mov ebx, dword [ebp + 0x150]
mov esi, dword [ebp + 0x154]
push ebx
mov edi, ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], esi
call fcn.10176da2
cmp eax, dword [ebp + 0x148]
jne 0x10177300
cmp edx, dword [ebp + 0x14c]
je 0x10177502
mov eax, dword [edi + 0x28]
cmp eax, dword [0x101c78c4]
jne 0x10177318
mov dword [ebx], 5
xor al, al
jmp 0x10177504
push ebx
mov ecx, edi
call fcn.10176e6e
cmp eax, dword [0x101c78d8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
jne 0x10177336
cmp edx, dword [0x101c78dc]
je 0x10177311
lea eax, [edi + 0x84]
push eax
lea ecx, [ebp - 0x20]
call fcn.100035d0
push ebx
push dword [0x101c8fc0]
mov ecx, edi
push dword [ebp + 0x14c]
push dword [ebp + 0x148]
call fcn.10176e09
cmp eax, dword [0x101c78d8]
jne 0x10177379
cmp edx, dword [0x101c78dc]
jne 0x10177379
lea ecx, [ebp - 0x20]
call fcn.100035f0
jmp 0x10177311
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x10177390
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx], eax
jmp 0x1017736f
lea ecx, [ebp - 0x20]
call fcn.100035f0
xor ebx, ebx
cmp byte [ebp + 0x158], bl
je 0x101773a4
mov byte [esi], bl
push 0xf
pop esi
push ebx
lea ecx, [ebp]
mov dword [ebp + 0x18], esi
call fcn.10001ce0
push ebx
lea ecx, [ebp + 0x1c]
mov dword [ebp - 4], ebx
mov dword [ebp + 0x34], esi
call fcn.10001ce0
push 0x103
lea eax, [ebp + 0x39]
push ebx
push eax
mov byte [ebp - 4], 1
mov byte [ebp + 0x38], bl
call fcn.101580b0
add esp, 0xc
push 0x104
lea eax, [ebp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp + 0x1c]
call fcn.10001af0
mov eax, dword [ebp + 0x30]
dec eax
push eax
lea ecx, [ebp + 0x1c]
call fcn.10027aa0
cmp byte [eax], 0x5c
je 0x10177434
push 0x10198048
lea ecx, [ebp - 0x40]
call fcn.100019a0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 2
call fcn.1000c960
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.10001b20
push str.kernel32.dll
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002ced0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp]
mov byte [ebp - 4], 3
call fcn.10001a10
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.10001b20
cmp dword [ebp + 0x18], 0x10
mov eax, dword [ebp + 4]
jae 0x10177474
lea eax, [ebp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, ebx
je 0x101774bb
push str.SetFileValidData
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x101774b4
cmp byte [ebp + 0x158], bl
je 0x101774ae
push dword [ebp + 0x14c]
push dword [ebp + 0x148]
push dword [edi + 0x24]
call eax
test eax, eax
je 0x101774b4
mov eax, dword [ebp - 0x24]
mov byte [eax], 1
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0x14c]
jg 0x101774e7
jl 0x101774d3
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp + 0x148]
jae 0x101774e7
push dword [ebp - 0x10]
mov ecx, edi
push dword [0x101c8fc0]
push eax
push dword [ebp - 0x18]
call fcn.10176e09
mov eax, dword [ebp - 0x10]
push ebx
push 1
lea ecx, [ebp + 0x1c]
mov dword [eax], ebx
call fcn.10001b20
push ebx
push 1
lea ecx, [ebp]
call fcn.10001b20
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x13c]
xor ecx, ebp
call fcn.101586e7
add ebp, 0x140
leave
ret 0x14