Function at 0x10374ac
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, 0x4ac
mov ecx, dword [0x103bd30]
mov eax, dword [0x103b3bc]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
cmp ecx, esi
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x490], esi
mov dword [ebp - 0x498], esi
je 0x10374ea
push 1
call fcn.0102c610
mov dword [0x103bd30], esi
cmp byte [ebx], 0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jne 0x103750a
push dword [0x103b770]
lea eax, [ebp - 0x48c]
push eax
call edi
lea ebx, [ebp - 0x48c]
push ebx
lea eax, [ebp - 0x11c]
push eax
call edi
push 0x1001d60
lea eax, [ebp - 0x11c]
push eax
call fcn.0102c23a
push 0x8021
lea eax, [ebp - 0x11c]
push eax
call fcn.0100f57a
cmp eax, esi
mov dword [ebp - 0x49c], eax
je 0x1037553
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x49c]
push eax
call fcn.0100e7d3
call fcn.0101df22
push ebx
lea eax, [ebp - 0x11c]
push eax
call edi
cmp dword [0x103d534], esi
je 0x1037595
lea eax, [ebp - 0x11c]
push eax
push 0x37
call fcn.01023837
push eax
lea eax, [ebp - 0x388]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x388]
push eax
call fcn.010242ce
lea eax, [ebp - 0x11c]
push eax
call fcn.01034de7
push 0x1001d78
lea eax, [ebp - 0x11c]
push eax
call fcn.0102c23a
push 0x1001d68
push ebx
call fcn.0102c23a
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e852
test eax, eax
push 8
pop esi
jne 0x103764e
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10375ef
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
lea eax, [ebp - 0x11c]
push eax
call fcn.01017459
test eax, eax
mov dword [ebp - 0x494], eax
jne 0x10377a8
cmp dword [0x103b974], esi
je 0x1037a58
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0100efa1
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x11c]
push eax
call edi
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e852
test eax, eax
je 0x1037780
push 1
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll__lopen]
cmp eax, 0xffffffff
je 0x103766e
push eax
call dword [sym.imp.KERNEL32.dll__lclose]
jmp 0x10375d0
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x10376d2
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 - 0x4ac]
push eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x4a4]
push eax
lea eax, [ebp - 0x34c]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [ebp - 0x4a8]
sub eax, dword [ebp - 0x4a0]
cmp eax, 5
ja 0x10375d0
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0
mov edi, 0x1002b08
push edi
call esi
test eax, eax
je 0x103770d
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x400
call fcn.0102c41b
push 0
push edi
call esi
test eax, eax
jne 0x10376ed
jmp 0x1037741
push 0x2b
call fcn.01035fb5
test eax, eax
je 0x1037815
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.01036023
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e852
test eax, eax
jne 0x103771c
call fcn.01034eac
push 0x1001d50
lea eax, [ebp - 0x11c]
push eax
call fcn.0102c23a
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e852
test eax, eax
jne 0x1037772
push dword [ebp + 0xc]
push ebx
call fcn.010374ac
mov esi, eax
jmp 0x1037bcc
lea eax, [ebp - 0x11c]
push eax
call fcn.0102c5db
jmp 0x103776b
push 0
lea eax, [ebp - 0x11c]
push eax
call fcn.01017459
test eax, eax
mov dword [ebp - 0x494], eax
jne 0x10377a8
cmp dword [0x103b974], esi
setne al
add esi, eax
jmp 0x1037a58
push 0x2b
call fcn.01035fb5
test eax, eax
je 0x1037a58
call fcn.01036023
push 0xe
xor eax, eax
xor esi, esi
cmp dword [ebp + 0xc], esi
pop ecx
mov edi, 0x103d460
rep stosd dword es:[edi], eax
je 0x10377d9
mov dword [0x103d468], 0x20
mov eax, dword [0x103bb60]
cmp eax, esi
mov dword [0x103d460], 0x1087
je 0x10377f3
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 [0x103bb60], eax
jne 0x103781c
push 0x103ba14
call fcn.0100e7d3
push 8
jmp 0x1037a57
cmp dword [ebp + 0xc], esi
jne 0x1037840
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x494]
push ebx
call fcn.01036288
test eax, eax
jne 0x1037840
xor esi, esi
inc esi
jmp 0x1037a58
mov eax, dword [0x103b988]
cmp eax, esi
je 0x1037857
push 1
push eax
call fcn.01008bb0
mov dword [0x103b988], esi
cmp dword [0x103d46c], 1
jle 0x1037867
or dword [0x103d468], 1
push dword [ebp - 0x494]
push ebx
call fcn.01034c4c
mov esi, eax
test esi, esi
jne 0x1037889
call fcn.0101df4e
mov esi, dword [ebp - 0x498]
jmp 0x1037a5d
push esi
push ebx
push dword [ebp - 0x494]
call fcn.01036cb0
test eax, eax
je 0x10378a1
or dword [0x103d468], 4
push 1
push esi
call fcn.01008bb0
push 0
push 0x1001ce4
push dword [ebp - 0x494]
call fcn.010175bf
test eax, eax
mov dword [ebp - 0x490], eax
jne 0x10378d9
cmp dword [0x103d4fc], 8
setne al
add eax, 8
mov esi, eax
jmp 0x1037a58
cmp dword [0x103aabc], 0
je 0x1037922
mov eax, dword [0x103d380]
test eax, eax
jne 0x10378f1
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
lea eax, [ebp - 0x18]
push 0x1002b78
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x1037929
or dword [0x103d468], 8
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1037929
or dword [0x103d468], 8
mov eax, dword [0x103bb30]
mov eax, dword [eax + 8]
dec eax
cmp eax, 3
jge 0x1037947
cmp dword [0x103d51c], 0xf
jne 0x1037947
and dword [0x103d468], 0xfffffff7
push 0x38
push 0x103d460
push dword [ebp - 0x490]
call fcn.010184a6
cmp eax, 0x38
jne 0x1037a55
mov esi, 0x2bc
push esi
push 0x40
call edi
push esi
mov edi, eax
push edi
push dword [ebp - 0x490]
call fcn.010184a6
cmp eax, esi
je 0x1037996
test edi, edi
push 9
pop esi
je 0x1037a58
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1037a58
xor ebx, ebx
cmp edi, ebx
je 0x10379a3
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x103d46c], 1
jle 0x10379d4
call fcn.01036023
push dword [0x103d46c]
push dword [0x103ba14]
push dword [ebp - 0x490]
call fcn.010184a6
cmp eax, dword [0x103d46c]
jne 0x1037a55
push ebx
push 1
push dword [ebp - 0x490]
call fcn.01017f41
test eax, eax
mov dword [ebp - 0x490], ebx
jne 0x1037a55
cmp dword [0x103bb60], ebx
je 0x1037a3a
push ebx
push 0x10029e0
push dword [ebp - 0x494]
call fcn.010175bf
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x490], edi
je 0x1037a3a
mov esi, 0x800
push esi
push dword [0x103bb60]
push edi
call fcn.010184a6
cmp eax, esi
jne 0x1037a55
push ebx
push 1
push edi
call fcn.01017f41
test eax, eax
mov dword [ebp - 0x490], ebx
jne 0x1037a55
push 1
push dword [ebp - 0x494]
call fcn.01017c69
test eax, eax
je 0x1037ae2
mov dword [ebp - 0x494], ebx
push 9
pop esi
call fcn.0101df4e
call fcn.01034eac
mov eax, dword [0x103b988]
xor edi, edi
cmp eax, edi
je 0x1037a7b
push 1
push eax
call fcn.01008bb0
mov dword [0x103b988], edi
cmp dword [ebp - 0x490], edi
je 0x1037a91
push edi
push 1
push dword [ebp - 0x490]
call fcn.01017f41
cmp dword [ebp - 0x494], edi
je 0x1037aa6
push 1
push dword [ebp - 0x494]
call fcn.01017c69
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, 8
jne 0x1037ac3
push 2
push 2
call fcn.01026a0b
jmp 0x1037adb
cmp esi, 1
je 0x1037adb
lea eax, [ebp - 0x11c]
push eax
push 2
push 0x8f
call fcn.010268cc
xor eax, eax
jmp 0x1037bd3
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001d50
lea eax, [ebp - 0x220]
push eax
call fcn.0102c23a
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 0x1037bae
push 2
push 0x1034f00
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 0x1037bae
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 0x1037bae
call fcn.01034eac
push 2
push 0x88
call fcn.01026a0b
push 2
lea eax, [ebp - 0x220]
push eax
call edi
lea eax, [ebp - 0x220]
push eax
call fcn.0102c5db
mov esi, eax
call fcn.01034eac
call fcn.0101df4e
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01037c5a
leave
ret 8