Function at 0x1030598
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 0x1030629
cmp dword [0x103ba28], ebx
je 0x1030635
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
mov dword [0x103ba28], ebx
cmp dword [0x103ba28], ebx
jne 0x1030c62
mov ebx, 0x104
cmp dword [0x103bcb0], 0
jne 0x1030650
call fcn.0102c70f
test eax, eax
je 0x1030b08
push edi
call dword [0x103b9f4]
call dword [0x103bcb0]
test eax, eax
mov dword [0x103ba28], eax
je 0x1030b22
cmp dword [ebp + 0xc], 1
jne 0x1030692
mov ecx, edi
call fcn.0102fa9d
test eax, eax
je 0x1030b22
call dword [0x103bcb0]
test eax, eax
mov dword [0x103ba28], eax
je 0x1030b22
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 0x10306ca
push 0x33
call fcn.01035fb4
test eax, eax
je 0x10306db
push dword [0x103d574]
push fcn.01036022
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 0x103075d
push 0x8071
lea eax, [ebp - 0x20c]
push eax
call fcn.0100f57a
test eax, eax
mov dword [ebp - 0x470], eax
je 0x103075d
cmp dword [ebp + 0xc], 0
push eax
je 0x103071f
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x1030745
push dword [0x103ba28]
call dword [0x103bb64]
test eax, eax
jge 0x1030b59
cmp eax, 0xfffffffa
je 0x1030bbc
cmp eax, 0xffffffec
je 0x1030bbc
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 0x1030a09
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 0x10309e1
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 0x1030a99
test byte [ebp - 0x461], 8
jne 0x1030868
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 0x1030924
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 0x10308bb
mov eax, dword [0x103bb60]
lea eax, [esi + eax - 4]
or byte [eax + 2], 2
jmp 0x1030924
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 0x10308f5
mov eax, dword [ebp - 0x47c]
mov ecx, dword [0x103bb60]
mov dword [esi + ecx - 8], eax
mov eax, dword [ebp - 0x47c]
jmp 0x1030917
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 0x1030bea
cmp eax, 0xffffffec
je 0x1030bea
cmp eax, edi
jge 0x10309a1
push dword [ebp - 0x468]
inc edi
mov dword [ebp - 0x478], edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1030999
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 0x10309d6
mov dword [ebp - 0x478], edi
jmp 0x10309d6
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 0x10309c4
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 0x1030786
mov edi, dword [ebp - 0x480]
mov esi, 0x103bb54
push 0
push 0
call dword [0x103ba0c]
cmp dword [ebp - 0x484], 0
jne 0x1030ab3
cmp dword [ebp - 0x46c], 0
jne 0x1030c23
mov ecx, edi
call fcn.0102fa9d
test eax, eax
jne 0x1030aec
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 0x1030a6d
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1030a7f
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1030a91
push 1
push dword [ebp - 0x454]
call esi
or esi, 0xffffffff
jmp 0x1030dd4
push 0
push 0
call dword [0x103ba0c]
mov edi, dword [ebp - 0x480]
mov esi, 0x103bb54
jmp 0x1030a20
cmp dword [ebp - 0x478], 0
je 0x1030c41
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
and dword [0x103ba28], 0
cmp dword [ebp - 0x46c], 0
jne 0x1030b22
mov ecx, edi
call fcn.0102fa9d
test eax, eax
je 0x1030b22
cmp dword [0x103ba28], 0
mov dword [ebp - 0x46c], 1
je 0x103063a
jmp 0x1030c62
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 0x1030b3c
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1030b4e
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
jmp 0x1030dc6
lea eax, [ebp - 0x470]
push eax
call fcn.0100e7d3
push 0
push 0
call dword [0x103ba0c]
mov eax, dword [0x103ba28]
test eax, eax
je 0x1030d93
cmp dword [0x103b97c], 0
je 0x1030cc7
call fcn.0100d6d7
test eax, eax
je 0x1030cb3
mov eax, dword [eax + 0xc]
mov ax, word [eax + 0x1e6]
and ax, 0x3ff
cmp ax, 1
je 0x1030bb4
cmp ax, 0xd
jne 0x1030cb3
xor eax, eax
inc eax
jmp 0x1030cb5
lea eax, [ebp - 0x470]
push eax
call fcn.0100e7d3
call fcn.0102c6f9
xor edi, edi
push edi
push edi
call dword [0x103ba0c]
call fcn.01034eab
push dword [0x103ba28]
call dword [0x103b978]
jmp 0x1030c36
mov esi, 0x103bb54
call fcn.0102c6f9
push edi
push edi
call dword [0x103ba0c]
call fcn.01034eab
push dword [0x103ba28]
call dword [0x103b978]
push dword [ebp - 0x468]
mov dword [0x103ba28], edi
call fcn.0100325b
jmp 0x1030b24
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
xor edi, edi
mov dword [0x103ba28], edi
jmp 0x1030b24
mov eax, dword [0x103bb30]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x1030c62
lea eax, [ebp - 0x20c]
push eax
push dword [0x103ba28]
call dword [0x103bb40]
cmp dword [ebp + 0xc], 2
jne 0x1030b6f
cmp dword [ebp - 0x458], 0
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1030c85
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], 0
je 0x1030c98
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], 0
je 0x1030cab
push 1
push dword [ebp - 0x454]
call esi
xor esi, esi
inc esi
jmp 0x1030dd4
xor eax, eax
push eax
push 0
push dword [0x103ba28]
push edi
call dword [0x103b97c]
jmp 0x1030cd1
push 0
push eax
push edi
call dword [0x103bb5c]
test eax, eax
mov dword [0x103bc98], eax
je 0x1030d2e
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 0x1030d46
call fcn.0102c6f9
push dword [0x103ba28]
call dword [0x103b978]
and dword [0x103ba28], 0
call fcn.01034eab
mov ebx, dword [0x103bc98]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
xor edi, edi
cmp dword [ebp - 0x458], edi
je 0x1030d6b
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1030d7d
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1030d8f
push 1
push dword [ebp - 0x454]
call esi
mov esi, ebx
jmp 0x1030dd4
cmp dword [ebp - 0x458], 0
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1030dac
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], 0
je 0x1030dbf
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], 0
je 0x1030dd2
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.01037c59
leave
ret 8