Function at 0x10316bb
Capabilities:
Check if file exists
Copy file
Delete file
Enumerate gui resources
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a4
mov eax, dword [0x1038d20]
push ebx
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], edi
je 0x10316f2
mov esi, eax
cmp esi, edi
je 0x10316ec
mov ecx, esi
call fcn.01030e62
push esi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov dword [0x1038d20], edi
mov ebx, dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebx], 0
jne 0x1031715
push dword [0x1038774]
lea eax, [ebp - 0x4a4]
push eax
call esi
lea ebx, [ebp - 0x4a4]
lea eax, [ebp - 0x134]
push ebx
push eax
call esi
lea eax, [ebp - 0x134]
push 0x1001de0
push eax
call fcn.0102a612
lea eax, [ebp - 0x134]
push 0x8021
push eax
call fcn.0100ddae
cmp eax, edi
mov dword [ebp - 8], eax
je 0x1031758
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 8]
push eax
call fcn.0100e4ec
call fcn.0101d960
lea eax, [ebp - 0x134]
push ebx
push eax
call esi
cmp dword [0x103a834], edi
je 0x103179a
lea eax, [ebp - 0x134]
push eax
push 0x37
call fcn.01023cda
push eax
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x3a0]
push eax
call fcn.01024477
lea eax, [ebp - 0x134]
push eax
call fcn.01033cb5
lea eax, [ebp - 0x134]
push 0x1001df8
push eax
call fcn.0102a612
push 0x1001de8
push ebx
call fcn.0102a612
lea eax, [ebp - 0x134]
push eax
call fcn.0100e556
push 8
test eax, eax
pop edi
jne 0x1031850
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10317f4
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x134]
push 0
push eax
call fcn.01016256
test eax, eax
mov dword [ebp + 8], eax
jne 0x103199b
cmp dword [0x1038974], edi
je 0x10319a6
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0100e8ee
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x134]
push eax
call esi
lea eax, [ebp - 0x134]
push eax
call fcn.0100e556
test eax, eax
je 0x1031976
lea eax, [ebp - 0x134]
push 1
push eax
call dword [sym.imp.KERNEL32.dll__lopen]
cmp eax, 0xffffffff
je 0x1031870
push eax
call dword [sym.imp.KERNEL32.dll__lclose]
jmp 0x10317d5
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x10318c8
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x364]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
cmp eax, 5
ja 0x10317d5
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
mov edi, 0x1002c30
push 0
push edi
call esi
test eax, eax
je 0x1031903
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x400
call fcn.0102a7ec
push 0
push edi
call esi
test eax, eax
jne 0x10318e3
jmp 0x1031937
push 0x2b
call fcn.01033d37
test eax, eax
je 0x1031a0b
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.01033dad
lea eax, [ebp - 0x134]
push eax
call fcn.0100e556
test eax, eax
jne 0x1031912
call fcn.01033dbd
lea eax, [ebp - 0x134]
push 0x1001dd0
push eax
call fcn.0102a612
lea eax, [ebp - 0x134]
push eax
call fcn.0100e556
test eax, eax
jne 0x1031963
push dword [ebp + 0xc]
push ebx
call fcn.010316bb
jmp 0x103196f
lea eax, [ebp - 0x134]
push eax
call fcn.0102a997
mov esi, eax
jmp 0x1031d75
lea eax, [ebp - 0x134]
push 0
push eax
call fcn.01016256
test eax, eax
mov dword [ebp + 8], eax
jne 0x103199b
cmp dword [0x1038974], edi
setne al
add eax, edi
jmp 0x1031ab5
push 0x2b
call fcn.01033d37
test eax, eax
jne 0x10319ad
mov esi, edi
jmp 0x1031c0d
call fcn.01033dad
push 0xe
xor esi, esi
pop ecx
xor eax, eax
cmp dword [ebp + 0xc], esi
mov edi, 0x103a7a0
rep stosd dword es:[edi], eax
je 0x10319cf
mov dword [0x103a7a8], 0x20
mov eax, dword [0x1038cb8]
mov dword [0x103a7a0], 0x1087
cmp eax, esi
je 0x10319e9
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0x800
push 0x40
call edi
cmp eax, esi
mov dword [0x1038cb8], eax
jne 0x1031a12
push 0x1038cb0
call fcn.0100e4ec
push 8
jmp 0x1031c0c
cmp dword [ebp + 0xc], esi
jne 0x1031a2f
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 8]
push ebx
call fcn.01031d83
test eax, eax
jne 0x1031a2f
push 1
jmp 0x1031c0c
mov eax, dword [0x1038ac0]
cmp eax, esi
je 0x1031a46
push 1
push eax
call fcn.01008938
mov dword [0x1038ac0], esi
cmp dword [0x103a7ac], 1
jle 0x1031a56
or dword [0x103a7a8], 1
push dword [ebp + 8]
push ebx
call fcn.01033ad4
mov esi, eax
test esi, esi
jne 0x1031a72
call fcn.0101d987
mov esi, dword [ebp + 0xc]
jmp 0x1031c12
push esi
push ebx
push dword [ebp + 8]
call fcn.01032bdc
test eax, eax
je 0x1031a87
or dword [0x103a7a8], 4
push 1
push esi
call fcn.01008938
xor ebx, ebx
push ebx
push 0x1001d58
push dword [ebp + 8]
call fcn.0101639d
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x1031abc
xor eax, eax
cmp dword [0x103a6e8], 8
setne al
add eax, 8
mov esi, eax
jmp 0x1031c0d
cmp dword [0x1037abc], ebx
je 0x1031b04
mov eax, dword [0x103a6f8]
cmp eax, ebx
jne 0x1031ad3
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
lea eax, [ebp - 0x30]
push 0x1002c88
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
je 0x1031b0b
or dword [0x103a7a8], 8
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1031b0b
or dword [0x103a7a8], 8
mov eax, dword [0x1038978]
mov eax, dword [eax + 8]
dec eax
cmp eax, 3
jge 0x1031b29
cmp dword [0x103a744], 0xf
jne 0x1031b29
and dword [0x103a7a8], 0xfffffff7
push 0x38
push 0x103a7a0
push dword [ebp - 4]
call fcn.01017057
cmp eax, 0x38
jne 0x1031c0a
mov esi, 0x2bc
push esi
push 0x40
call edi
push esi
push eax
push dword [ebp - 4]
mov dword [ebp + 0xc], eax
call fcn.01017057
cmp eax, esi
je 0x1031b6c
push 9
lea ecx, [ebp + 0xc]
pop esi
call fcn.01033d29
jmp 0x1031c0d
lea ecx, [ebp + 0xc]
call fcn.01033d29
cmp dword [0x103a7ac], 1
jle 0x1031b9e
call fcn.01033dad
push dword [0x103a7ac]
push dword [0x1038cb0]
push dword [ebp - 4]
call fcn.01017057
cmp eax, dword [0x103a7ac]
jne 0x1031c0a
push ebx
push 1
push dword [ebp - 4]
call fcn.01016c64
test eax, eax
mov dword [ebp - 4], ebx
jne 0x1031c0a
cmp dword [0x1038cb8], ebx
je 0x1031bf5
push ebx
push 0x1002ae8
push dword [ebp + 8]
call fcn.0101639d
mov edi, eax
cmp edi, ebx
mov dword [ebp - 4], edi
je 0x1031bf5
mov esi, 0x800
push esi
push dword [0x1038cb8]
push edi
call fcn.01017057
cmp eax, esi
jne 0x1031c0a
push ebx
push 1
push edi
call fcn.01016c64
test eax, eax
mov dword [ebp - 4], ebx
jne 0x1031c0a
push 1
push dword [ebp + 8]
call fcn.010169a6
test eax, eax
je 0x1031c8b
mov dword [ebp + 8], ebx
push 9
pop esi
call fcn.0101d987
call fcn.01033dbd
mov eax, dword [0x1038ac0]
xor edi, edi
cmp eax, edi
je 0x1031c30
push 1
push eax
call fcn.01008938
mov dword [0x1038ac0], edi
cmp dword [ebp - 4], edi
je 0x1031c40
push edi
push 1
push dword [ebp - 4]
call fcn.01016c64
cmp dword [ebp + 8], edi
je 0x1031c4f
push 1
push dword [ebp + 8]
call fcn.010169a6
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, 8
jne 0x1031c6c
push 2
push 2
call fcn.0102498f
jmp 0x1031c84
cmp esi, 1
je 0x1031c84
lea eax, [ebp - 0x134]
push eax
push 2
push 0x8f
call fcn.01024851
xor eax, eax
jmp 0x1031d7c
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x238]
push 0x1001dd0
push eax
call fcn.0102a612
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x238]
push 0x80
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x238]
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileA]
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x134]
push eax
call esi
test eax, eax
jne 0x1031d57
push 2
push 0x1033e11
call dword [sym.imp.USER32.dll_EnumWindows]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x238]
push eax
call ebx
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x134]
push eax
call esi
test eax, eax
jne 0x1031d57
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, eax
lea eax, [ebp - 0x134]
push eax
call ebx
test esi, esi
jne 0x1031d57
call fcn.01033dbd
push 2
push 0x88
call fcn.0102498f
lea eax, [ebp - 0x238]
push 2
push eax
call edi
lea eax, [ebp - 0x238]
push eax
call fcn.0102a997
mov esi, eax
call fcn.01033dbd
call fcn.0101d987
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 8