Function at 0x40ccc3
Capabilities:
Get common file path
Timestomp file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94c
mov cl, byte [0x446484]
push ebx
push esi
push edi
xor eax, eax
lea edi, [ebp - 0xb]
mov byte [ebp - 0xc], cl
mov byte [ebp - 0x14], cl
stosd dword es:[edi], eax
stosb byte es:[edi], al
xor eax, eax
lea edi, [ebp - 0x13]
mov esi, 0x104
xor ebx, ebx
stosd dword es:[edi], eax
push esi
lea eax, [ebp - 0x43c]
push ebx
push eax
call fcn.00403e70
push esi
lea eax, [ebp - 0x644]
push ebx
push eax
call fcn.00403e70
push esi
lea eax, [ebp - 0x748]
push ebx
push eax
call fcn.00403e70
push esi
lea eax, [ebp - 0x540]
push ebx
push eax
call fcn.00403e70
add esp, 0x30
lea eax, [ebp - 0x540]
mov byte [ebp - 0xc], 0x2e
mov byte [ebp - 0xb], 0x64
push esi
push eax
mov byte [ebp - 0xa], 0x6c
mov byte [ebp - 9], 0x6c
mov byte [ebp - 8], bl
mov byte [ebp - 7], bl
mov byte [ebp - 0x14], 0x2e
mov byte [ebp - 0x13], 0x74
mov byte [ebp - 0x12], 0x67
mov byte [ebp - 0x11], 0x7a
mov byte [ebp - 0x10], bl
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0xc]
mov edi, 0x4278a4
push eax
lea eax, [ebp - 0x540]
push dword [ebp + 8]
push edi
push eax
lea eax, [ebp - 0x43c]
push str._s_s_s_s
push eax
call fcn.0040421a
push dword [ebp + 0xc]
lea eax, [ebp - 0x540]
push edi
push eax
lea eax, [ebp - 0x644]
push str._s_s_s
push eax
call fcn.0040421a
add esp, 0x2c
lea eax, [ebp - 0x43c]
push ebx
push 0x2000080
push 4
push ebx
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp + 8], eax
cmp eax, 0xffffffff
jne 0x40cdd4
mov eax, 0x400
jmp 0x40d25d
xor eax, eax
lea edi, [ebp - 0x24]
mov dword [ebp - 0x28], ebx
push 0x105
stosd dword es:[edi], eax
lea eax, [ebp - 0x748]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x748]
push str.kernel32.dll
push eax
call fcn.00403f60
pop ecx
lea eax, [ebp - 0x748]
pop ecx
push ebx
push 0x80
push 3
push ebx
push ebx
push closesocket
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
mov dword [ebp + 0xc], eax
je 0x40ce4d
push ebx
lea ecx, [ebp - 0x28]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push ebx
lea eax, [ebp - 0x28]
push ebx
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push dword [ebp + 0xc]
call edi
push dword [ebp + 8]
call edi
mov edi, 0x44726c
push esi
call fcn.0040330c
mov dword [edi], eax
add edi, 4
cmp edi, 0x447274
pop ecx
mov byte [eax], bl
jl 0x40ce57
lea eax, [ebp - 0xc]
mov esi, 0x427700
push eax
lea eax, [ebp - 0x644]
push eax
push esi
push dword [0x44726c]
call fcn.0040421a
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x644]
push eax
push esi
push dword [0x447270]
call fcn.0040421a
lea eax, [ebp - 0x18]
push eax
push ebx
push ebx
push 0x44726c
push 1
push ebx
push ebx
push 1
push 1
call fcn.0040fba4
add esp, 0x44
test eax, eax
je 0x40cec9
mov ebx, 0x400
jmp 0x40d256
lea eax, [ebp - 0x43c]
push ebx
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040fe4a
mov esi, 0x427900
mov edi, str.DUMMY
push esi
push edi
push ebx
lea eax, [ebp - 0x94c]
push str._d_s_s
push eax
call fcn.0040421a
lea eax, [ebp - 0x94c]
push ebx
push eax
call fcn.0040dfae
mov dword [ebp + 8], eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040413e
lea eax, [ebp - 0x330]
push edi
push eax
call fcn.00403f50
lea eax, [ebp - 0x2f0]
push esi
push eax
call fcn.00403f50
mov eax, dword [ebp + 8]
mov dword [ebp - 0x334], ebx
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x2a8], ebx
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.00403f50
add esp, 0x44
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x19c], ebx
push 1
mov dword [ebp - 0x198], ebx
pop edi
mov dword [ebp - 0x194], ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
mov dword [ebp - 0x190], edi
call fcn.00410076
add esp, 0x20
test eax, eax
je 0x40cfa7
mov ebx, 0x400
jmp 0x40d24c
push ebx
lea eax, [ebp - 4]
push 3
push eax
lea eax, [ebp - 0x43c]
push edi
push eax
push dword [ebp - 0x1c]
call fcn.004101f0
add esp, 0x18
test eax, eax
je 0x40cfde
lea eax, [ebp - 0x18]
push eax
call fcn.0040fc1c
lea eax, [ebp - 0x1c]
push eax
call fcn.004101c6
pop ecx
pop ecx
jmp 0x40cebf
lea eax, [ebp - 0x848]
push 0xa
push eax
push dword [ebp - 0x338]
call fcn.0040a6b7
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x848]
push esi
push eax
push dword [ebp - 4]
call fcn.004104f9
add esp, 0x1c
cmp eax, ebx
je 0x40d032
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x848]
push esi
push eax
push dword [ebp - 4]
call fcn.00410618
add esp, 0x10
cmp eax, ebx
jne 0x40d21c
push dword [ebp - 0x2b0]
mov esi, 0x427754
lea eax, [ebp - 0x18c]
push esi
push eax
call fcn.0040421a
lea eax, [ebp - 0x18c]
mov edi, str.START_DATE
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.004109cc
add esp, 0x1c
test eax, eax
je 0x40d087
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.00410b6f
add esp, 0x10
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x18c]
push esi
push eax
call fcn.0040421a
lea eax, [ebp - 0x18c]
mov esi, str.LAST_DATE
push eax
lea eax, [ebp - 0x88]
push esi
push eax
push dword [ebp - 4]
call fcn.004109cc
add esp, 0x1c
test eax, eax
je 0x40d0d7
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push esi
push eax
push dword [ebp - 4]
call fcn.00410b6f
add esp, 0x10
push dword [ebp - 0x2a8]
mov esi, 0x4278dc
lea eax, [ebp - 0x18c]
push esi
push eax
call fcn.0040421a
lea eax, [ebp - 0x18c]
mov edi, str.NUM_EXEC
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.004109cc
add esp, 0x1c
test eax, eax
je 0x40d12c
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.00410b6f
add esp, 0x10
push dword [ebp - 0x19c]
lea eax, [ebp - 0x18c]
push esi
push eax
call fcn.0040421a
lea eax, [ebp - 0x18c]
mov edi, str.USAGE_TIME
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.004109cc
add esp, 0x1c
test eax, eax
je 0x40d17c
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.00410b6f
add esp, 0x10
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x18c]
push esi
push eax
call fcn.0040421a
lea eax, [ebp - 0x18c]
mov edi, str.USAGE_COUNT
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.004109cc
add esp, 0x1c
test eax, eax
je 0x40d1cc
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push edi
push eax
push dword [ebp - 4]
call fcn.00410b6f
add esp, 0x10
push dword [ebp - 0x190]
lea eax, [ebp - 0x18c]
push esi
push eax
call fcn.0040421a
lea eax, [ebp - 0x18c]
mov esi, str.STATUS
push eax
lea eax, [ebp - 0x88]
push esi
push eax
push dword [ebp - 4]
call fcn.004109cc
add esp, 0x1c
test eax, eax
je 0x40d21c
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push esi
push eax
push dword [ebp - 4]
call fcn.00410b6f
add esp, 0x10
push ebx
lea eax, [ebp - 4]
push 3
push eax
call fcn.004103e2
lea eax, [ebp - 0x1c]
push eax
call fcn.004101c6
lea eax, [ebp - 0x540]
push ebx
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040fc82
add esp, 0x20
lea eax, [ebp - 0x18]
push eax
call fcn.0040fc1c
pop ecx
call fcn.0040cc9e
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret