Function at 0x10374ab
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 0x10374e9
push 1
call fcn.0102c610
mov dword [0x103bd30], esi
cmp byte [ebx], 0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jne 0x1037509
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 0x1037552
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 0x1037594
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.01034de6
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 0x103764d
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10375ee
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 0x10377a7
cmp dword [0x103b974], esi
je 0x1037a57
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 0x103777f
push 1
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll__lopen]
cmp eax, 0xffffffff
je 0x103766d
push eax
call dword [sym.imp.KERNEL32.dll__lclose]
jmp 0x10375cf
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x10376d1
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 0x10375cf
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0
mov edi, 0x1002b08
push edi
call esi
test eax, eax
je 0x103770c
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 0x10376ec
jmp 0x1037740
push 0x2b
call fcn.01035fb4
test eax, eax
je 0x1037814
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.01036022
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e852
test eax, eax
jne 0x103771b
call fcn.01034eab
push 0x1001d50
lea eax, [ebp - 0x11c]
push eax
call fcn.0102c23a
lea eax, [ebp - 0x11c]
push eax
call fcn.0100e852
test eax, eax
jne 0x1037771
push dword [ebp + 0xc]
push ebx
call fcn.010374ab
mov esi, eax
jmp 0x1037bcb
lea eax, [ebp - 0x11c]
push eax
call fcn.0102c5db
jmp 0x103776a
push 0
lea eax, [ebp - 0x11c]
push eax
call fcn.01017459
test eax, eax
mov dword [ebp - 0x494], eax
jne 0x10377a7
cmp dword [0x103b974], esi
setne al
add esi, eax
jmp 0x1037a57
push 0x2b
call fcn.01035fb4
test eax, eax
je 0x1037a57
call fcn.01036022
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 0x10377d8
mov dword [0x103d468], 0x20
mov eax, dword [0x103bb60]
cmp eax, esi
mov dword [0x103d460], 0x1087
je 0x10377f2
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 0x103781b
push 0x103ba14
call fcn.0100e7d3
push 8
jmp 0x1037a56
cmp dword [ebp + 0xc], esi
jne 0x103783f
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x494]
push ebx
call fcn.01036287
test eax, eax
jne 0x103783f
xor esi, esi
inc esi
jmp 0x1037a57
mov eax, dword [0x103b988]
cmp eax, esi
je 0x1037856
push 1
push eax
call fcn.01008bb0
mov dword [0x103b988], esi
cmp dword [0x103d46c], 1
jle 0x1037866
or dword [0x103d468], 1
push dword [ebp - 0x494]
push ebx
call fcn.01034c4b
mov esi, eax
test esi, esi
jne 0x1037888
call fcn.0101df4e
mov esi, dword [ebp - 0x498]
jmp 0x1037a5c
push esi
push ebx
push dword [ebp - 0x494]
call fcn.01036caf
test eax, eax
je 0x10378a0
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 0x10378d8
cmp dword [0x103d4fc], 8
setne al
add eax, 8
mov esi, eax
jmp 0x1037a57
cmp dword [0x103aabc], 0
je 0x1037921
mov eax, dword [0x103d380]
test eax, eax
jne 0x10378f0
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 0x1037928
or dword [0x103d468], 8
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1037928
or dword [0x103d468], 8
mov eax, dword [0x103bb30]
mov eax, dword [eax + 8]
dec eax
cmp eax, 3
jge 0x1037946
cmp dword [0x103d51c], 0xf
jne 0x1037946
and dword [0x103d468], 0xfffffff7
push 0x38
push 0x103d460
push dword [ebp - 0x490]
call fcn.010184a6
cmp eax, 0x38
jne 0x1037a54
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 0x1037995
test edi, edi
push 9
pop esi
je 0x1037a57
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1037a57
xor ebx, ebx
cmp edi, ebx
je 0x10379a2
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x103d46c], 1
jle 0x10379d3
call fcn.01036022
push dword [0x103d46c]
push dword [0x103ba14]
push dword [ebp - 0x490]
call fcn.010184a6
cmp eax, dword [0x103d46c]
jne 0x1037a54
push ebx
push 1
push dword [ebp - 0x490]
call fcn.01017f41
test eax, eax
mov dword [ebp - 0x490], ebx
jne 0x1037a54
cmp dword [0x103bb60], ebx
je 0x1037a39
push ebx
push 0x10029e0
push dword [ebp - 0x494]
call fcn.010175bf
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x490], edi
je 0x1037a39
mov esi, 0x800
push esi
push dword [0x103bb60]
push edi
call fcn.010184a6
cmp eax, esi
jne 0x1037a54
push ebx
push 1
push edi
call fcn.01017f41
test eax, eax
mov dword [ebp - 0x490], ebx
jne 0x1037a54
push 1
push dword [ebp - 0x494]
call fcn.01017c69
test eax, eax
je 0x1037ae1
mov dword [ebp - 0x494], ebx
push 9
pop esi
call fcn.0101df4e
call fcn.01034eab
mov eax, dword [0x103b988]
xor edi, edi
cmp eax, edi
je 0x1037a7a
push 1
push eax
call fcn.01008bb0
mov dword [0x103b988], edi
cmp dword [ebp - 0x490], edi
je 0x1037a90
push edi
push 1
push dword [ebp - 0x490]
call fcn.01017f41
cmp dword [ebp - 0x494], edi
je 0x1037aa5
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 0x1037ac2
push 2
push 2
call fcn.01026a0b
jmp 0x1037ada
cmp esi, 1
je 0x1037ada
lea eax, [ebp - 0x11c]
push eax
push 2
push 0x8f
call fcn.010268cc
xor eax, eax
jmp 0x1037bd2
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 0x1037bad
push 2
push 0x1034eff
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 0x1037bad
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 0x1037bad
call fcn.01034eab
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.01034eab
call fcn.0101df4e
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01037c59
leave
ret 8