Function at 0x1030599
Capabilities:
Delete file
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x488
mov eax, dword [0x103b3bc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 4], eax
mov dword [ebp - 0x480], edi
mov dword [ebp - 0x46c], ebx
call fcn.0101df22
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 2
push edi
call esi
push eax
lea ecx, [ebp - 0x454]
call fcn.0102d2f8
push 1
push edi
call esi
push eax
lea ecx, [ebp - 0x45c]
call fcn.0102d2f8
push 0x38e
push edi
call esi
push eax
lea ecx, [ebp - 0x458]
call fcn.0102d2f8
cmp dword [ebp + 0xc], ebx
mov esi, 0x103bb54
je 0x103062a
cmp dword [0x103ba28], ebx
je 0x1030636
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
mov dword [0x103ba28], ebx
cmp dword [0x103ba28], ebx
jne 0x1030c63
mov ebx, 0x104
cmp dword [0x103bcb0], 0
jne 0x1030651
call fcn.0102c70f
test eax, eax
je 0x1030b09
push edi
call dword [0x103b9f4]
call dword [0x103bcb0]
test eax, eax
mov dword [0x103ba28], eax
je 0x1030b23
cmp dword [ebp + 0xc], 1
jne 0x1030693
mov ecx, edi
call fcn.0102fa9d
test eax, eax
je 0x1030b23
call dword [0x103bcb0]
test eax, eax
mov dword [0x103ba28], eax
je 0x1030b23
push dword [0x103b9fc]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001d60
lea eax, [ebp - 0x20c]
push eax
call fcn.0102c23a
cmp dword [0x103d574], 0
jne 0x10306cb
push 0x33
call fcn.01035fb5
test eax, eax
je 0x10306dc
push dword [0x103d574]
push fcn.01036023
call dword [0x103ba0c]
push dword [0x103d574]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x103bb30]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x103075e
push 0x8071
lea eax, [ebp - 0x20c]
push eax
call fcn.0100f57a
test eax, eax
mov dword [ebp - 0x470], eax
je 0x103075e
cmp dword [ebp + 0xc], 0
push eax
je 0x1030720
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x1030746
push dword [0x103ba28]
call dword [0x103bb64]
test eax, eax
jge 0x1030b5a
cmp eax, 0xfffffffa
je 0x1030bbd
cmp eax, 0xffffffec
je 0x1030bbd
push dword [ebp - 0x470]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x470]
push eax
call fcn.0100e7d3
mov ecx, dword [0x103bb30]
and dword [ebp - 0x478], 0
and dword [ebp - 0x484], 0
mov edx, dword [ecx + 8]
push 2
pop eax
dec edx
cmp edx, eax
mov dword [ebp - 0x460], eax
jl 0x1030a0a
mov eax, dword [ebp - 0x460]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x103bb60]
sar esi, 1
shl esi, 3
mov al, byte [esi + eax - 2]
test al, 0x16
mov byte [ebp - 0x461], al
jne 0x10309e2
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x460]
push dword [eax + ecx*4]
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001d58
lea eax, [ebp - 0x310]
push eax
call fcn.0102c23a
push ebx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, dword [sym.imp.msvcrt.dll_strrchr]
lea eax, [ebp - 0x108]
push 0x5c
push eax
call edi
pop ecx
pop ecx
push ebx
mov byte [eax + 1], 0
push 0x1001c90
lea eax, [ebp - 0x108]
push eax
call fcn.0100e69c
lea eax, [ebp - 0x310]
push 0x5c
push eax
call edi
pop ecx
pop ecx
push ebx
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0100e69c
push 0x8071
lea eax, [ebp - 0x108]
push eax
call fcn.0100f57a
test eax, eax
mov dword [ebp - 0x468], eax
je 0x1030a9a
test byte [ebp - 0x461], 8
jne 0x1030869
mov eax, dword [0x103bb60]
lea eax, [esi + eax - 4]
or byte [eax + 2], 8
mov dword [0x103bb38], 1
mov eax, dword [0x103bb60]
mov eax, dword [esi + eax - 8]
and dword [ebp - 0x488], 0
test eax, eax
mov dword [ebp - 0x474], eax
jne 0x1030925
mov eax, dword [0x103bb30]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x460]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x450]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x10308bc
mov eax, dword [0x103bb60]
lea eax, [esi + eax - 4]
or byte [eax + 2], 2
jmp 0x1030925
mov eax, dword [0x103bb30]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x460]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x47c]
push ecx
push eax
call fcn.0102ad54
test eax, eax
je 0x10308f6
mov eax, dword [ebp - 0x47c]
mov ecx, dword [0x103bb60]
mov dword [esi + ecx - 8], eax
mov eax, dword [ebp - 0x47c]
jmp 0x1030918
lea eax, [ebp - 0x43c]
push eax
call fcn.0101792f
mov eax, dword [ebp - 0x43c]
mov ecx, dword [0x103bb60]
mov dword [esi + ecx - 8], eax
mov eax, dword [ebp - 0x43c]
push edi
mov dword [ebp - 0x474], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x474]
push eax
xor edi, edi
push edi
push edi
push dword [ebp - 0x468]
push dword [0x103ba28]
call dword [0x103b980]
cmp eax, 0xfffffffa
je 0x1030beb
cmp eax, 0xffffffec
je 0x1030beb
cmp eax, edi
jge 0x10309a2
push dword [ebp - 0x468]
inc edi
mov dword [ebp - 0x478], edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x103099a
mov eax, dword [0x103bb60]
lea eax, [esi + eax - 4]
mov cx, word [eax + 2]
and cx, 0xfff7
mov word [eax + 2], cx
mov eax, dword [0x103bb60]
lea eax, [esi + eax - 4]
or byte [eax + 2], 0x40
jmp 0x10309d7
mov dword [ebp - 0x478], edi
jmp 0x10309d7
mov ecx, dword [0x103bb60]
mov word [esi + ecx - 4], ax
mov eax, dword [0x103bb30]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x10309c5
mov dword [0x103bb38], 1
push edi
push edi
mov dword [ebp - 0x484], 1
call dword [0x103ba0c]
push dword [ebp - 0x468]
call fcn.0100325b
mov ecx, dword [0x103bb30]
add dword [ebp - 0x460], 2
mov eax, dword [ecx + 8]
dec eax
cmp dword [ebp - 0x460], eax
jle 0x1030787
mov edi, dword [ebp - 0x480]
mov esi, 0x103bb54
push 0
push 0
call dword [0x103ba0c]
cmp dword [ebp - 0x484], 0
jne 0x1030ab4
cmp dword [ebp - 0x46c], 0
jne 0x1030c24
mov ecx, edi
call fcn.0102fa9d
test eax, eax
jne 0x1030aed
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
xor edi, edi
cmp dword [ebp - 0x458], edi
mov dword [0x103ba28], edi
je 0x1030a6e
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1030a80
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1030a92
push 1
push dword [ebp - 0x454]
call esi
or esi, 0xffffffff
jmp 0x1030dd5
push 0
push 0
call dword [0x103ba0c]
mov edi, dword [ebp - 0x480]
mov esi, 0x103bb54
jmp 0x1030a21
cmp dword [ebp - 0x478], 0
je 0x1030c42
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
and dword [0x103ba28], 0
cmp dword [ebp - 0x46c], 0
jne 0x1030b23
mov ecx, edi
call fcn.0102fa9d
test eax, eax
je 0x1030b23
cmp dword [0x103ba28], 0
mov dword [ebp - 0x46c], 1
je 0x103063b
jmp 0x1030c63
lea eax, [ebp - 0x418]
push eax
push 0x32
call fcn.0102386c
lea eax, [ebp - 0x418]
push eax
call fcn.0102cb1b
xor edi, edi
cmp dword [ebp - 0x458], edi
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1030b3d
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1030b4f
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
jmp 0x1030dc7
lea eax, [ebp - 0x470]
push eax
call fcn.0100e7d3
push 0
push 0
call dword [0x103ba0c]
mov eax, dword [0x103ba28]
test eax, eax
je 0x1030d94
cmp dword [0x103b97c], 0
je 0x1030cc8
call fcn.0100d6d7
test eax, eax
je 0x1030cb4
mov eax, dword [eax + 0xc]
mov ax, word [eax + 0x1e6]
and ax, 0x3ff
cmp ax, 1
je 0x1030bb5
cmp ax, 0xd
jne 0x1030cb4
xor eax, eax
inc eax
jmp 0x1030cb6
lea eax, [ebp - 0x470]
push eax
call fcn.0100e7d3
call fcn.0102c6f9
xor edi, edi
push edi
push edi
call dword [0x103ba0c]
call fcn.01034eac
push dword [0x103ba28]
call dword [0x103b978]
jmp 0x1030c37
mov esi, 0x103bb54
call fcn.0102c6f9
push edi
push edi
call dword [0x103ba0c]
call fcn.01034eac
push dword [0x103ba28]
call dword [0x103b978]
push dword [ebp - 0x468]
mov dword [0x103ba28], edi
call fcn.0100325b
jmp 0x1030b25
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
xor edi, edi
mov dword [0x103ba28], edi
jmp 0x1030b25
mov eax, dword [0x103bb30]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x1030c63
lea eax, [ebp - 0x20c]
push eax
push dword [0x103ba28]
call dword [0x103bb40]
cmp dword [ebp + 0xc], 2
jne 0x1030b70
cmp dword [ebp - 0x458], 0
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1030c86
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], 0
je 0x1030c99
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], 0
je 0x1030cac
push 1
push dword [ebp - 0x454]
call esi
xor esi, esi
inc esi
jmp 0x1030dd5
xor eax, eax
push eax
push 0
push dword [0x103ba28]
push edi
call dword [0x103b97c]
jmp 0x1030cd2
push 0
push eax
push edi
call dword [0x103bb5c]
test eax, eax
mov dword [0x103bc98], eax
je 0x1030d2f
call fcn.0102c6d4
push 0xfffffffffffffff0
push dword [0x103bc98]
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 4
push eax
push 0xfffffffffffffff0
push dword [0x103bc98]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push dword [0x103bc98]
call fcn.0102ed7a
push dword [0x103bc98]
mov ebx, edi
call fcn.0102c89e
push 0x43
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push dword [0x103bc98]
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x1030d47
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
and dword [0x103ba28], 0
call fcn.01034eac
mov ebx, dword [0x103bc98]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
xor edi, edi
cmp dword [ebp - 0x458], edi
je 0x1030d6c
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1030d7e
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1030d90
push 1
push dword [ebp - 0x454]
call esi
mov esi, ebx
jmp 0x1030dd5
cmp dword [ebp - 0x458], 0
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1030dad
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], 0
je 0x1030dc0
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], 0
je 0x1030dd3
push 1
push dword [ebp - 0x454]
call esi
xor esi, esi
call fcn.0101df4e
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
pop ebx
call fcn.01037c5a
leave
ret 8