Function at 0x102c6b6
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x740
call fcn.0102170a
test eax, eax
je 0x102c9b4
push ebx
xor ebx, ebx
cmp dword [0x1037a08], ebx
push esi
push edi
je 0x102c6f5
mov esi, 0x1037b34
call fcn.01029875
push dword [0x1037a08]
call dword [0x1037958]
mov dword [0x1037a08], ebx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x380]
mov dword [ebp - 0x24], ecx
mov ecx, dword [0x10392e8]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x10394c8]
and ecx, 0xfffffff7
push 0x417
or ecx, 7
push eax
mov dword [ebp - 0x44], 0x28
mov dword [ebp - 0x40], 0x20
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [0x10392e8], ecx
mov dword [ebp - 0x58], ebx
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov dword [ebp - 0x54], eax
xor eax, eax
lea ecx, [ebp - 0x58]
mov dword [ebp + eax*8 - 0x118], ecx
inc eax
cmp eax, 0x18
jl 0x102c749
push 0x7d
pop eax
lea ecx, [ebp - 0x118]
push ecx
mov edi, 0x102bb3a
push edi
mov dword [ebp - 0x114], eax
push eax
lea eax, [ebp - 0x740]
lea esi, [ebp - 0x44]
call fcn.0102a091
push 0x7f
pop eax
lea ecx, [ebp - 0x110]
push ecx
push edi
mov dword [ebp - 0x10c], eax
push eax
lea eax, [ebp - 0x718]
lea esi, [ebp - 0x44]
call fcn.0102a091
lea ecx, [ebp - 0x108]
push ecx
mov eax, 0x80
push edi
mov dword [ebp - 0x104], eax
push eax
lea eax, [ebp - 0x6f0]
lea esi, [ebp - 0x44]
call fcn.0102a091
lea ecx, [ebp - 0x100]
push ecx
mov eax, 0x81
push edi
mov dword [ebp - 0xfc], eax
push eax
lea eax, [ebp - 0x6c8]
lea esi, [ebp - 0x44]
call fcn.0102a091
lea ecx, [ebp - 0xf8]
push ecx
mov eax, 0x82
push edi
mov dword [ebp - 0xf4], eax
push eax
lea eax, [ebp - 0x6a0]
lea esi, [ebp - 0x44]
call fcn.0102a091
lea ecx, [ebp - 0xf0]
push ecx
mov eax, 0x83
push edi
mov dword [ebp - 0xec], eax
push eax
lea eax, [ebp - 0x678]
lea esi, [ebp - 0x44]
call fcn.0102a091
lea ecx, [ebp - 0xe8]
push ecx
mov eax, 0x84
push edi
mov dword [ebp - 0xe4], eax
push eax
lea eax, [ebp - 0x650]
lea esi, [ebp - 0x44]
call fcn.0102a091
lea eax, [ebp - 0x44]
push eax
call dword [0x10379d0]
push dword [ebp - 0x54]
call fcn.01021880
cmp dword [0x10392ec], ebx
je 0x102c9af
mov al, byte [0x10392e8]
test al, 1
mov dword [ebp + 8], 0x31
je 0x102c87d
mov dword [ebp + 8], 0x33
test al, 2
je 0x102c885
or dword [ebp + 8], 4
test al, 4
je 0x102c88d
or dword [ebp + 8], 8
mov ecx, dword [0x1037964]
mov eax, dword [ecx + 0x1c]
cmp eax, ebx
je 0x102c98a
mov edi, dword [eax]
cmp edi, 0xffffffff
je 0x102c96e
mov dword [ebp - 4], ebx
mov eax, edi
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x1037b40]
sar esi, 1
shl esi, 3
test byte [esi + eax - 2], 0x16
jne 0x102c958
mov eax, dword [0x1037b10]
mov eax, dword [eax + 4]
push dword [eax + edi*4]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001d48
lea eax, [ebp - 0x21c]
push eax
call fcn.0102941e
push 0x8071
lea eax, [ebp - 0x21c]
push eax
call fcn.0100e383
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x102c930
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x102c928
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push dword [ebp - 8]
call fcn.0100d744
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
mov cx, word [eax + 2]
and cx, 0xfff7
mov word [eax + 2], cx
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
or byte [eax + 2], 0x10
mov ecx, dword [0x1037964]
add dword [ebp - 4], 4
mov eax, dword [ecx + 0x1c]
mov edx, dword [ebp - 4]
mov edi, dword [edx + eax]
cmp edi, 0xffffffff
jne 0x102c8ac
mov eax, dword [ecx + 0x1c]
cmp eax, ebx
je 0x102c98a
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x1037964]
mov dword [eax + 0x1c], ebx
mov ecx, dword [0x1037964]
cmp dword [ecx + 0x18], ebx
je 0x102cc28
cmp dword [0x1039554], ebx
jne 0x102c9c0
push 0x45
call fcn.010322d9
test eax, eax
jne 0x102c9b8
push 1
push 2
call fcn.01024353
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
cmp dword [0x1039554], ebx
je 0x102c9d4
push 0x45
call fcn.01021676
push eax
push dword [0x1039554]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x1037964]
mov eax, dword [eax + 0x18]
mov edi, dword [eax]
cmp edi, 0xffffffff
je 0x102cc08
mov dword [ebp - 0x10], ebx
mov ebx, 0x104
mov eax, edi
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x1037b40]
sar esi, 1
shl esi, 3
lea ecx, [esi + eax - 4]
movsx eax, word [ecx + 2]
test al, 6
jne 0x102cbeb
and eax, 0xffffffef
mov word [ecx + 2], ax
mov eax, dword [0x1037b40]
test byte [esi + eax - 2], 0x40
jne 0x102cb33
mov eax, dword [0x1037b10]
mov eax, dword [eax + 4]
push dword [eax + edi*4]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001d48
lea eax, [ebp - 0x21c]
push eax
call fcn.0102941e
push ebx
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x320]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strrchr]
test eax, eax
pop ecx
pop ecx
je 0x102ca77
and byte [eax + 1], 0
push ebx
push 0x1001c80
lea eax, [ebp - 0x320]
push eax
call fcn.0100d647
lea eax, [ebp - 0x21c]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strrchr]
pop ecx
pop ecx
push ebx
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.0100d647
push 0x8071
lea eax, [ebp - 0x320]
push eax
call fcn.0100e383
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 4], eax
je 0x102cb33
mov edx, dword [0x1037b40]
mov edx, dword [esi + edx - 8]
mov dword [ebp - 0x18], edx
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0x18]
push edx
push ecx
push ecx
push eax
push dword [0x1037a08]
mov dword [ebp - 0x1c], ecx
call dword [0x1037960]
push dword [ebp + 8]
push dword [ebp - 4]
call dword [0x1037a00]
test eax, eax
jne 0x102cb18
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x102cb33
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
or byte [eax + 2], 0x10
jmp 0x102cbeb
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
or byte [eax + 2], 8
lea eax, [ebp - 4]
push eax
call fcn.0100d754
jmp 0x102cbeb
mov eax, dword [0x1037b10]
mov eax, dword [eax + 4]
push dword [eax + edi*4]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x8071
lea eax, [ebp - 0x21c]
push eax
call fcn.0100e383
test eax, eax
mov dword [ebp - 8], eax
jne 0x102cb87
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
mov cx, word [eax + 2]
and cx, 0xfff7
mov word [eax + 2], cx
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
or byte [eax + 2], 2
jmp 0x102cbeb
push eax
call fcn.0100d76d
push 1
mov dword [ebp - 0x14], eax
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.01018491
and dword [ebp - 0xc], 0
mov edi, eax
test edi, edi
je 0x102cbcd
push dword [ebp + 8]
push dword [ebp - 8]
push edi
call fcn.010177dc
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x102cbc7
mov eax, dword [0x1037b40]
lea eax, [esi + eax - 4]
or byte [eax + 2], 8
push edi
call fcn.010181f4
lea eax, [ebp - 0x14]
push eax
call fcn.0100d754
lea eax, [ebp - 8]
push eax
call fcn.0100d754
cmp dword [ebp - 0xc], 0xfffffffa
je 0x102cc30
cmp dword [ebp - 0xc], 0xffffffec
je 0x102cc30
add dword [ebp - 0x10], 4
mov eax, dword [0x1037964]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ecx + eax]
cmp edi, 0xffffffff
jne 0x102c9ef
xor ebx, ebx
mov eax, dword [0x1037964]
mov eax, dword [eax + 0x18]
cmp eax, ebx
je 0x102cc23
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x1037964]
mov dword [eax + 0x18], ebx
call fcn.010312ce
xor eax, eax
inc eax
jmp 0x102c9b1
mov eax, dword [0x1037964]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x102cc4c
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x1037964]
and dword [eax + 0x18], 0
call fcn.010312ce
jmp 0x102c9af