Function at 0x102dc46
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x5a8
mov eax, dword [0x103b3bc]
push ebx
xor ebx, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
cmp eax, ebx
push esi
mov esi, ecx
mov dword [ebp - 0x598], esi
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], ebx
mov dword [ebp - 0x588], ebx
je 0x102dc94
push 0xc
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push eax
call fcn.0100ed4a
jmp 0x102dc9a
mov byte [ebp - 0x108], bl
lea eax, [ebp - 0x108]
push eax
call fcn.0102c5db
push esi
push 0x37
mov dword [ebp - 0x5a8], eax
call fcn.01023837
push eax
lea eax, [ebp - 0x478]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x478]
push eax
call fcn.010242ce
cmp dword [0x103bb60], ebx
jne 0x102dcfd
push 0x800
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [0x103bb60], eax
jne 0x102dcfd
push 2
push 2
call fcn.01026a0b
jmp 0x102e671
push edi
push dword [ebp - 0x598]
call fcn.0100e745
push ebx
push eax
mov dword [ebp - 0x584], eax
call fcn.01017b3a
cmp eax, ebx
mov dword [0x103d304], eax
jne 0x102ddbc
cmp dword [0x103d4fc], 4
je 0x102dd7f
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x584]
call fcn.0100efa1
push ebx
lea eax, [ebp - 0x310]
push eax
call fcn.01017b3a
cmp eax, ebx
mov dword [0x103d304], eax
jne 0x102dd91
push 2
push dword [ebp - 0x584]
call fcn.01017b3a
cmp eax, ebx
mov dword [0x103d304], eax
je 0x102dd76
mov dword [0x103bca4], 1
jmp 0x102ddb4
cmp dword [0x103d4fc], 4
jne 0x102ddb4
push dword [ebp - 0x584]
call fcn.0100325b
push 5
jmp 0x102e66f
lea eax, [ebp - 0x584]
push eax
call fcn.0100e7d3
lea eax, [ebp - 0x310]
push eax
call fcn.0100e7f6
mov dword [ebp - 0x584], eax
mov eax, dword [0x103d304]
cmp eax, ebx
je 0x102e39e
push 2
push 0x1001ce4
push eax
call fcn.01017da7
mov dword [ebp - 0x58c], eax
push 0x42
xor eax, eax
cmp dword [ebp - 0x58c], ebx
pop ecx
lea edi, [ebp - 0x580]
rep stosd dword es:[edi], eax
je 0x102e22b
push 0x38
push 0x103d460
push dword [ebp - 0x58c]
call fcn.01018007
cmp eax, 0x38
jne 0x102e215
cmp dword [0x103d460], 0x1087
jne 0x102e3ae
cmp dword [0x103d44c], ebx
mov esi, 0x2bc
jne 0x102de45
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [0x103d44c], eax
jne 0x102de45
push dword [ebp - 0x584]
call fcn.0100325b
push 2
push 2
call fcn.01026a0b
push esi
push dword [0x103d44c]
push dword [ebp - 0x58c]
call fcn.01018007
cmp eax, esi
jne 0x102e215
mov eax, dword [0x103d46c]
cmp eax, 1
jle 0x102deb1
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [0x103ba14], eax
jne 0x102de8e
push dword [ebp - 0x584]
call fcn.0100325b
push 2
push 2
call fcn.01026a0b
push dword [0x103d46c]
push dword [0x103ba14]
push dword [ebp - 0x58c]
call fcn.01018007
cmp eax, dword [0x103d46c]
jne 0x102e215
push ebx
push 1
push dword [ebp - 0x58c]
call fcn.01017f41
push 2
push 0x10029e0
push dword [0x103d304]
call fcn.01017da7
cmp eax, ebx
mov dword [ebp - 0x58c], eax
je 0x102df09
mov esi, 0x800
push esi
push dword [0x103bb60]
push eax
call fcn.01018007
cmp eax, esi
jne 0x102e215
push ebx
push 1
push dword [ebp - 0x58c]
call fcn.01017f41
mov dword [ebp - 0x58c], ebx
push 2
push dword [0x103d304]
push 0x1001ccc
call fcn.01008eb2
mov edi, eax
cmp edi, ebx
je 0x102df9a
push ebx
mov esi, 0x104
push esi
lea eax, [ebp - 0x108]
push eax
push ebx
lea eax, [ebp - 0x594]
push eax
push edi
mov dword [ebp - 0x594], 0x11170
call fcn.0100821f
test eax, eax
jne 0x102df5c
lea eax, [ebp - 0x108]
push eax
call fcn.0102c5db
mov dword [0x103ba00], eax
push ebx
push esi
lea eax, [ebp - 0x108]
push eax
push ebx
lea eax, [ebp - 0x594]
push eax
push edi
mov dword [ebp - 0x594], 0x11171
call fcn.0100821f
test eax, eax
jne 0x102df92
lea eax, [ebp - 0x108]
push eax
call fcn.0102c5db
mov dword [0x103bb48], eax
push 1
push edi
call fcn.01008bb0
cmp dword [0x103bb48], ebx
jne 0x102dfb1
push 0x1001c98
call fcn.0102c5db
mov dword [0x103bb48], eax
push 2
push dword [0x103d304]
push 0x1001cc4
call fcn.01008eb2
mov dword [ebp - 0x588], eax
lea eax, [ebp - 0x584]
push eax
call fcn.0100e7d3
cmp dword [ebp - 0x588], ebx
je 0x102e468
push ebx
push 0x108
lea eax, [ebp - 0x580]
push eax
push ebx
lea eax, [ebp - 0x590]
push eax
push dword [ebp - 0x588]
mov dword [ebp - 0x590], 0x2710
call fcn.0100821f
cmp eax, ebx
jne 0x102e215
push ebx
lea eax, [ebp - 0x584]
push eax
push dword [ebp - 0x580]
lea eax, [ebp - 0x57c]
push eax
call fcn.01017a2a
test eax, eax
je 0x102e047
cmp dword [ebp - 0x584], ebx
je 0x102e05d
lea eax, [ebp - 0x584]
push eax
call fcn.0100e7d3
jmp 0x102e05d
lea eax, [ebp - 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x102e20e
mov dword [ebp - 0x590], 1
push ebx
push 0x108
lea eax, [ebp - 0x580]
push eax
push ebx
lea eax, [ebp - 0x590]
push eax
push dword [ebp - 0x588]
call fcn.0100821f
test eax, eax
jne 0x102e45b
push 0x3d
lea eax, [ebp - 0x57c]
push eax
call fcn.010079f0
mov esi, eax
cmp esi, ebx
je 0x102e203
cmp dword [0x103bb30], ebx
jne 0x102e0cf
push 0x40
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x102e0c9
mov ecx, eax
call fcn.01033673
mov dword [0x103bb30], eax
jmp 0x102e0cf
mov dword [0x103bb30], ebx
push 0xc
push 0x104
lea eax, [ebp - 0x108]
mov byte [esi], bl
push eax
inc esi
push esi
call fcn.0100ed4a
mov eax, dword [ebp - 0x590]
mov ecx, dword [0x103bb60]
test byte [ecx + eax*8 - 2], 4
jne 0x102e12b
cmp dword [ebp - 0x5a0], ebx
je 0x102e12b
push dword [ebp - 0x5a8]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea eax, [ebp - 0x108]
push eax
call edi
test eax, eax
jne 0x102e12b
push dword [ebp - 0x5a0]
push esi
call edi
test eax, eax
jne 0x102e3ec
mov ecx, dword [ebp - 0x590]
mov eax, dword [0x103bb60]
lea eax, [eax + ecx*8]
movsx ecx, word [eax - 2]
test cl, 1
je 0x102e1be
test cl, 2
je 0x102e1a8
lea eax, [ebp - 0x450]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x102e1be
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
push 0x108
lea eax, [ebp - 0x580]
push eax
push ebx
lea eax, [ebp - 0x590]
push eax
push dword [ebp - 0x588]
mov dword [ebp - 0x590], 0x2710
call fcn.0100821f
test eax, eax
je 0x102e215
push dword [ebp - 0x598]
lea eax, [ebp - 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x102e215
push 1
lea ecx, [ebp - 0x584]
push ecx
push dword [eax - 8]
push esi
call fcn.01017a2a
test eax, eax
je 0x102e161
lea eax, [ebp - 0x57c]
push eax
push dword [0x103bb30]
call fcn.010336a1
cmp dword [ebp - 0x584], ebx
je 0x102e1f7
push dword [ebp - 0x584]
push dword [0x103bb30]
call fcn.010336a1
lea eax, [ebp - 0x584]
push eax
call fcn.0100e7d3
jmp 0x102e203
push esi
push dword [0x103bb30]
call fcn.010336a1
inc dword [ebp - 0x590]
jmp 0x102e067
and dword [0x103d468], 0xffffffdf
cmp dword [ebp - 0x58c], ebx
je 0x102e22b
push ebx
push 1
push dword [ebp - 0x58c]
call fcn.01017f41
cmp dword [ebp - 0x588], ebx
jne 0x102e297
push 2
push dword [0x103d304]
mov esi, 0x2710
push 0x1001ccc
mov dword [ebp - 0x590], esi
call fcn.01008eb2
cmp eax, ebx
mov dword [ebp - 0x588], eax
je 0x102e2a4
push ebx
push 0x108
lea eax, [ebp - 0x580]
push eax
push ebx
lea eax, [ebp - 0x590]
push eax
push dword [ebp - 0x588]
mov dword [ebp - 0x590], esi
call fcn.0100821f
test eax, eax
je 0x102e297
push dword [ebp - 0x598]
lea eax, [ebp - 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push dword [ebp - 0x588]
call fcn.01008bb0
mov eax, dword [0x103ba14]
cmp eax, ebx
je 0x102e2ba
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x103ba14], ebx
xor esi, esi
inc esi
push esi
push dword [0x103d304]
call fcn.01017c69
mov dword [0x103d304], ebx
call fcn.0102c682
cmp dword [ebp - 0x59c], ebx
jne 0x102e670
mov eax, dword [0x103d468]
and eax, 0x20
push eax
lea eax, [ebp - 0x57c]
push eax
call fcn.010374ac
cmp eax, ebx
mov dword [0x103b9fc], eax
jne 0x102e36b
cmp dword [0x103bca4], ebx
je 0x102e670
push dword [ebp - 0x598]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001d68
lea eax, [ebp - 0x20c]
push eax
call fcn.0102c23a
lea eax, [ebp - 0x57c]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01007a92
test eax, eax
je 0x102e670
mov eax, dword [0x103d468]
and eax, 0x20
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.010374ac
cmp eax, ebx
mov dword [0x103b9fc], eax
je 0x102e670
push eax
push dword [ebp - 0x598]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [0x103bb30]
cmp ecx, ebx
mov dword [ebp - 0x59c], esi
je 0x102dcfe
push 1
call fcn.0102c610
mov dword [0x103bb30], ebx
jmp 0x102dcfe
push dword [ebp - 0x584]
call fcn.0100325b
jmp 0x102e670
push ebx
push 1
push dword [ebp - 0x58c]
call fcn.01017f41
push 1
push dword [0x103d304]
call fcn.01017c69
push dword [ebp - 0x584]
mov dword [0x103d304], ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x584]
push eax
call fcn.0100e7d3
jmp 0x102dd8a
cmp dword [ebp - 0x58c], ebx
je 0x102e402
push ebx
push 1
push dword [ebp - 0x58c]
call fcn.01017f41
push 1
push dword [ebp - 0x588]
call fcn.01008bb0
mov eax, dword [0x103ba14]
cmp eax, ebx
je 0x102e425
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x103ba14], ebx
push 1
push dword [0x103d304]
call fcn.01017c69
mov dword [0x103d304], ebx
call fcn.0102c682
mov ecx, dword [0x103bb30]
cmp ecx, ebx
je 0x102e44e
push 1
call fcn.0102c610
mov dword [0x103bb30], ebx
push 4
jmp 0x102e66f
push 1
push dword [ebp - 0x588]
call fcn.01008bb0
cmp dword [0x103bb30], ebx
jne 0x102e49d
push 0x40
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x102e485
mov ecx, eax
call fcn.01033673
jmp 0x102e487
xor eax, eax
push dword [0x103b770]
mov dword [0x103bb30], eax
push 0x1001c98
push eax
call fcn.01033706
cmp dword [0x103d474], ebx
je 0x102e5cc
push 2
push dword [0x103d304]
push 0x1001cf4
call fcn.01008eb2
cmp eax, ebx
mov dword [ebp - 0x588], eax
je 0x102e5cc
xor eax, eax
inc eax
cmp dword [0x103d474], eax
mov dword [ebp - 0x594], eax
jl 0x102e5bf
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ebx
push 0x104
lea eax, [ebp - 0x108]
push eax
push ebx
lea eax, [ebp - 0x594]
push eax
push dword [ebp - 0x588]
call fcn.0100821f
test eax, eax
jne 0x102e5a6
push 0x3d
lea eax, [ebp - 0x108]
push eax
call fcn.010079f0
mov edi, eax
cmp edi, ebx
je 0x102e5a6
mov byte [edi], bl
push 1
inc edi
push edi
call fcn.0100d1cd
cmp eax, ebx
mov dword [ebp - 0x59c], eax
je 0x102e5a6
push 0x10029bc
push eax
call esi
mov ecx, dword [ebp - 0x594]
push 0x10029d0
push dword [ebp - 0x59c]
lea ecx, [ecx + ecx*2]
mov dword [ecx*4 + 0x103b998], eax
call esi
cmp eax, ebx
mov ecx, dword [ebp - 0x594]
lea edx, [ecx + ecx*2]
mov dword [edx*4 + 0x103b994], eax
jne 0x102e68d
cmp dword [0x103d56c], ebx
je 0x102e5ac
push edi
push 0x90
call fcn.01023837
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call fcn.01026638
mov ecx, dword [ebp - 0x594]
inc ecx
cmp ecx, dword [0x103d474]
mov dword [ebp - 0x594], ecx
jle 0x102e4e4
push 1
push dword [ebp - 0x588]
call fcn.01008bb0
mov eax, dword [0x103d44c]
cmp dword [eax + 0x24], ebx
je 0x102e655
lea esi, [eax + 0x1c]
mov eax, 0x103d4b0
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
push eax
movsd dword es:[edi], dword [esi]
call fcn.0101bc74
mov eax, dword [0x103d5a0]
cmp eax, ebx
je 0x102e655
cmp dword [0x103d480], ebx
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
jne 0x102e628
push eax
call esi
test eax, eax
je 0x102e628
push dword [0x103d5a0]
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x102e628
push 9
push dword [0x103d5a0]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x103d5a0]
call esi
push eax
push dword [0x103d4bc]
push dword [0x103d4b8]
push dword [0x103d4b4]
push dword [0x103d4b0]
push dword [0x103d5a0]
call dword [sym.imp.USER32.dll_MoveWindow]
cmp dword [0x103b9fc], ebx
jne 0x102e66d
push dword [ebp - 0x598]
call fcn.0102c5db
mov dword [0x103b9fc], eax
push 2
pop ebx
pop edi
push dword [ebp - 0x5a8]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 4]
pop esi
mov eax, ebx
pop ebx
call fcn.01037c5a
leave
ret 4
lea eax, [ebp - 0x108]
push eax
call fcn.0102c5db
mov ecx, dword [ebp - 0x594]
lea edx, [ecx + ecx*2]
mov dword [edx*4 + 0x103b990], eax
jmp 0x102e5ac