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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4b0
mov eax, dword [0x10413a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x1041d20]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
mov dword [ebp - 0x49c], ebx
mov dword [ebp - 0x490], esi
mov dword [ebp - 0x498], esi
cmp ecx, esi
je 0x103c789
push 1
call fcn.010311c8
mov dword [0x1041d20], esi
cmp byte [ebx], 0
mov edi, 0x104
jne 0x103c7b5
push dword [0x1041768]
lea eax, [ebp - 0x48c]
push edi
push eax
call fcn.0100e041
lea ebx, [ebp - 0x48c]
mov dword [ebp - 0x49c], ebx
mov dword [ebp + 0xc], edi
push ebx
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e041
push 0x100501c
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0103210b
push 0x8021
lea eax, [ebp - 0x11c]
push eax
call fcn.01013dc4
mov dword [ebp - 0x4a0], eax
cmp eax, esi
je 0x103c803
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x4a0]
push eax
call fcn.01012ee8
call fcn.01022a3c
push ebx
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e041
cmp dword [0x1043854], esi
je 0x103c84d
lea eax, [ebp - 0x11c]
push eax
push 0x37
call fcn.010281fa
push eax
lea eax, [ebp - 0x388]
push 0x168
push eax
call fcn.01007bcb
add esp, 0x10
lea eax, [ebp - 0x388]
push eax
call fcn.0102965e
lea eax, [ebp - 0x11c]
push eax
call fcn.0103aa92
push 0x1005034
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0103210b
push 0x1005024
push dword [ebp + 0xc]
push ebx
call fcn.0103210b
lea eax, [ebp - 0x11c]
push eax
call fcn.01012f0b
test eax, eax
jne 0x103c92d
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x103c8ac
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
lea eax, [ebp - 0x11c]
push eax
call fcn.0101c032
mov dword [ebp - 0x494], eax
cmp eax, esi
jne 0x103ca95
cmp dword [0x1041968], 8
je 0x103cafe
xor eax, eax
push 0x102
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.010137b1
lea eax, [ebp - 0x220]
push eax
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e041
lea eax, [ebp - 0x11c]
push eax
call fcn.01012f0b
test eax, eax
je 0x103ca68
push 1
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll__lopen]
cmp eax, 0xffffffff
je 0x103c94d
push eax
call dword [sym.imp.KERNEL32.dll__lclose]
jmp 0x103c88d
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x103c9b1
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ebp - 0x34c]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [ebp - 0x4a4]
sub eax, dword [ebp - 0x4ac]
cmp eax, 5
ja 0x103c88d
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0
mov ebx, 0x100670c
push ebx
call esi
test eax, eax
je 0x103c9ec
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x400
call fcn.01031099
push 0
push ebx
call esi
test eax, eax
jne 0x103c9cc
jmp 0x103ca20
push 0x2b
call fcn.0103ab26
test eax, eax
je 0x103cafe
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0103aba9
lea eax, [ebp - 0x11c]
push eax
call fcn.01012f0b
test eax, eax
jne 0x103c9fb
call fcn.01039c2e
push 0x100500c
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0103210b
lea eax, [ebp - 0x11c]
push eax
call fcn.01012f0b
test eax, eax
jne 0x103ca55
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x49c]
call fcn.0103c743
jmp 0x103ca61
lea eax, [ebp - 0x11c]
push eax
call fcn.0103232b
mov esi, eax
jmp 0x103ceb6
push esi
lea eax, [ebp - 0x11c]
push eax
call fcn.0101c032
mov dword [ebp - 0x494], eax
cmp eax, esi
jne 0x103ca95
xor eax, eax
cmp dword [0x1041968], 8
setne al
add eax, 8
mov esi, eax
jmp 0x103cd41
push 0x2b
call fcn.0103ab26
test eax, eax
je 0x103cafe
call fcn.0103aba9
push 0x38
push esi
push 0x1043780
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [ebp + 0x10], esi
je 0x103cac4
mov dword [0x1043788], 0x20
mov eax, dword [0x1041b50]
mov dword [0x1043780], 0x1087
cmp eax, esi
je 0x103cade
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x800
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x1041b50], eax
cmp eax, esi
jne 0x103cb05
push 0x1041a08
call fcn.01012ee8
push 8
jmp 0x103cd40
cmp dword [ebp + 0x10], esi
jne 0x103cb29
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x494]
push ebx
call fcn.0103bcc0
test eax, eax
jne 0x103cb29
xor esi, esi
inc esi
jmp 0x103cd41
mov eax, dword [0x1041980]
cmp eax, esi
je 0x103cb40
push 1
push eax
call fcn.0100cf53
mov dword [0x1041980], esi
cmp dword [0x104378c], 1
jle 0x103cb50
or dword [0x1043788], 1
push dword [ebp - 0x494]
push ebx
call fcn.0103a90d
mov esi, eax
test esi, esi
jne 0x103cb72
call fcn.01022a68
mov esi, dword [ebp - 0x498]
jmp 0x103cd46
push esi
push ebx
push dword [ebp - 0x494]
call fcn.0103b442
test eax, eax
je 0x103cb8a
or dword [0x1043788], 4
push 1
push esi
call fcn.0100cf53
push 0
push 0x1004fa0
push dword [ebp - 0x494]
call fcn.0101c142
mov dword [ebp - 0x490], eax
test eax, eax
jne 0x103cbba
cmp dword [0x104381c], 8
jmp 0x103ca88
cmp dword [0x1040aa4], 0
je 0x103cc04
mov eax, dword [0x10436a0]
test eax, eax
jne 0x103cbd2
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
push 0x1006954
lea eax, [ebp - 0x18]
push 0x14
push eax
call fcn.01007bcb
add esp, 0x10
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x103cc0b
or dword [0x1043788], 8
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x103cc0b
or dword [0x1043788], 8
mov eax, dword [0x1041b20]
mov eax, dword [eax + 8]
dec eax
cmp eax, 3
jge 0x103cc29
cmp dword [0x104383c], 0xf
jne 0x103cc29
and dword [0x1043788], 0xfffffff7
push 0x38
push 0x1043780
push dword [ebp - 0x490]
call fcn.0101cf05
cmp eax, 0x38
jne 0x103cd3e
mov esi, 0x2bc
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push esi
mov ebx, eax
push ebx
push dword [ebp - 0x490]
call fcn.0101cf05
cmp eax, esi
je 0x103cc7c
push 9
pop esi
test ebx, ebx
je 0x103cd41
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x103cd41
xor esi, esi
cmp ebx, esi
je 0x103cc89
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x104378c], 1
jle 0x103ccba
call fcn.0103aba9
push dword [0x104378c]
push dword [0x1041a08]
push dword [ebp - 0x490]
call fcn.0101cf05
cmp eax, dword [0x104378c]
jne 0x103cd3e
push esi
push 1
push dword [ebp - 0x490]
call fcn.0101c811
mov dword [ebp - 0x490], esi
test eax, eax
jne 0x103cd3e
cmp dword [0x1041b50], esi
je 0x103cd23
push esi
push 0x1006450
push dword [ebp - 0x494]
call fcn.0101c142
mov dword [ebp - 0x490], eax
cmp eax, esi
je 0x103cd23
mov ebx, 0x800
push ebx
push dword [0x1041b50]
push eax
call fcn.0101cf05
cmp eax, ebx
jne 0x103cd3e
push esi
push 1
push dword [ebp - 0x490]
call fcn.0101c811
mov dword [ebp - 0x490], esi
test eax, eax
jne 0x103cd3e
push 1
push dword [ebp - 0x494]
call fcn.0101c6d0
test eax, eax
je 0x103cdcb
mov dword [ebp - 0x494], esi
push 9
pop esi
call fcn.01022a68
call fcn.01039c2e
mov eax, dword [0x1041980]
xor edi, edi
cmp eax, edi
je 0x103cd64
push 1
push eax
call fcn.0100cf53
mov dword [0x1041980], edi
cmp dword [ebp - 0x490], edi
je 0x103cd7a
push edi
push 1
push dword [ebp - 0x490]
call fcn.0101c811
cmp dword [ebp - 0x494], edi
je 0x103cd8f
push 1
push dword [ebp - 0x494]
call fcn.0101c6d0
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, 8
jne 0x103cdac
push 2
push 2
call fcn.0102b944
jmp 0x103cdc4
cmp esi, 1
je 0x103cdc4
lea eax, [ebp - 0x11c]
push eax
push 2
push 0x8f
call fcn.0102b7c6
xor eax, eax
jmp 0x103cebd
lea eax, [ebp - 0x11c]
push eax
push edi
lea eax, [ebp - 0x220]
push eax
call fcn.0100e041
push 0x100500c
push edi
lea eax, [ebp - 0x220]
push eax
call fcn.0103210b
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x80
lea eax, [ebp - 0x220]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x220]
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileA]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x11c]
push eax
call esi
test eax, eax
jne 0x103ce98
push 2
push 0x1039c82
call dword [sym.imp.USER32.dll_EnumWindows]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x220]
push eax
call ebx
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x11c]
push eax
call esi
test eax, eax
jne 0x103ce98
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, eax
lea eax, [ebp - 0x11c]
push eax
call ebx
test esi, esi
jne 0x103ce98
call fcn.01039c2e
push 2
push 0x88
call fcn.0102b944
push 2
lea eax, [ebp - 0x220]
push eax
call edi
lea eax, [ebp - 0x220]
push eax
call fcn.0103232b
mov esi, eax
call fcn.01039c2e
call fcn.01022a68
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0103d1ec
leave
ret 0xc