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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x488
mov eax, dword [0x10413a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x480], edi
mov dword [ebp - 0x46c], ebx
call fcn.01022a3c
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 2
push edi
call esi
push eax
lea ecx, [ebp - 0x454]
call fcn.01031d8c
push 1
push edi
call esi
push eax
lea ecx, [ebp - 0x45c]
call fcn.01031d8c
push 0x38e
push edi
call esi
push eax
lea ecx, [ebp - 0x458]
call fcn.01031d8c
mov esi, 0x1041b44
cmp dword [ebp + 0xc], ebx
je 0x10355ac
cmp dword [0x1041a1c], ebx
je 0x10355b8
call fcn.010312b1
push dword [0x1041a1c]
call dword [0x1041970]
mov dword [0x1041a1c], ebx
cmp dword [0x1041a1c], ebx
jne 0x1035c5e
mov ebx, 0x104
cmp dword [0x1041ca0], 0
jne 0x10355d3
call fcn.010312c7
test eax, eax
je 0x1035a91
push edi
call dword [0x10419e8]
call dword [0x1041ca0]
mov dword [0x1041a1c], eax
test eax, eax
je 0x1035aac
cmp dword [ebp + 0xc], 1
jne 0x1035615
mov ecx, edi
call fcn.01034434
test eax, eax
je 0x1035aac
call dword [0x1041ca0]
mov dword [0x1041a1c], eax
test eax, eax
je 0x1035aac
push dword [0x10419f0]
lea eax, [ebp - 0x310]
push ebx
push eax
call fcn.0100e041
push 0x100501c
push ebx
lea eax, [ebp - 0x310]
push eax
call fcn.0103210b
cmp dword [0x1043894], 0
jne 0x103564e
push 0x33
call fcn.0103ab26
test eax, eax
je 0x103565f
push dword [0x1043894]
push fcn.0103aba9
call dword [0x1041a00]
push dword [0x1043894]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x1041b20]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x10356e1
push 0x8071
lea eax, [ebp - 0x310]
push eax
call fcn.01013dc4
mov dword [ebp - 0x470], eax
test eax, eax
je 0x10356e1
cmp dword [ebp + 0xc], 0
push eax
je 0x10356a3
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x10356c9
push dword [0x1041a1c]
call dword [0x1041b54]
test eax, eax
jge 0x1035b02
cmp eax, 0xfffffffa
je 0x1035b69
cmp eax, 0xffffffec
je 0x1035b69
push dword [ebp - 0x470]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x470]
push eax
call fcn.01012ee8
mov ecx, dword [0x1041b20]
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 0x103598a
mov eax, dword [ebp - 0x460]
cdq
sub eax, edx
sar eax, 1
mov esi, eax
mov eax, dword [0x1041b50]
shl esi, 3
mov al, byte [esi + eax - 2]
mov byte [ebp - 0x461], al
test al, 0x16
jne 0x1035962
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x460]
push dword [eax + ecx*4]
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.0100e041
push 0x1005014
push ebx
lea eax, [ebp - 0x108]
push eax
call fcn.0103210b
push ebx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, dword [sym.imp.msvcrt.dll_strrchr]
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call edi
pop ecx
pop ecx
push 0x1004efc
mov byte [eax + 1], 0
push ebx
lea eax, [ebp - 0x20c]
push eax
call fcn.01007b2f
lea eax, [ebp - 0x108]
push 0x5c
push eax
call edi
pop ecx
pop ecx
push eax
push ebx
lea eax, [ebp - 0x20c]
push eax
call fcn.01007b2f
push 0x8071
lea eax, [ebp - 0x20c]
push eax
call fcn.01013dc4
mov dword [ebp - 0x468], eax
test eax, eax
je 0x1035a1a
test byte [ebp - 0x461], 8
jne 0x10357ee
mov eax, dword [0x1041b50]
lea eax, [esi + eax - 4]
or word [eax + 2], 8
mov dword [0x1041b28], 1
mov eax, dword [0x1041b50]
mov eax, dword [esi + eax - 8]
and dword [ebp - 0x488], 0
mov dword [ebp - 0x474], eax
test eax, eax
jne 0x10358ab
mov eax, dword [0x1041b20]
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 0x1035842
mov eax, dword [0x1041b50]
lea eax, [esi + eax - 4]
or word [eax + 2], 2
jmp 0x10358ab
mov eax, dword [0x1041b20]
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.0102febf
test eax, eax
je 0x103587c
mov eax, dword [ebp - 0x47c]
mov ecx, dword [0x1041b50]
mov dword [esi + ecx - 8], eax
mov eax, dword [ebp - 0x47c]
jmp 0x103589e
lea eax, [ebp - 0x43c]
push eax
call fcn.0101c384
mov eax, dword [ebp - 0x43c]
mov ecx, dword [0x1041b50]
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 [0x1041a1c]
call dword [0x1041978]
cmp eax, 0xfffffffa
je 0x1035ba0
cmp eax, 0xffffffec
je 0x1035ba0
cmp eax, edi
jge 0x1035922
push dword [ebp - 0x468]
inc edi
mov dword [ebp - 0x478], edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x103591a
mov eax, dword [0x1041b50]
lea eax, [esi + eax - 4]
and word [eax + 2], 0xfff7
mov eax, dword [0x1041b50]
lea eax, [esi + eax - 4]
or word [eax + 2], 0x40
jmp 0x1035957
mov dword [ebp - 0x478], edi
jmp 0x1035957
mov ecx, dword [0x1041b50]
mov word [esi + ecx - 4], ax
mov eax, dword [0x1041b20]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x1035945
mov dword [0x1041b28], 1
push edi
push edi
mov dword [ebp - 0x484], 1
call dword [0x1041a00]
push dword [ebp - 0x468]
call fcn.01007110
mov ecx, dword [0x1041b20]
add dword [ebp - 0x460], 2
mov eax, dword [ecx + 8]
dec eax
cmp dword [ebp - 0x460], eax
jle 0x103570a
mov edi, dword [ebp - 0x480]
mov esi, 0x1041b44
push 0
push 0
call dword [0x1041a00]
cmp dword [ebp - 0x484], 0
jne 0x1035a34
cmp dword [ebp - 0x46c], 0
jne 0x1035c1e
mov ecx, edi
call fcn.01034434
test eax, eax
jne 0x1035a75
call fcn.010312b1
push dword [0x1041a1c]
call dword [0x1041970]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
xor edi, edi
mov dword [0x1041a1c], edi
cmp dword [ebp - 0x458], edi
je 0x10359ee
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1035a00
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1035a12
push 1
push dword [ebp - 0x454]
call esi
or esi, 0xffffffff
jmp 0x1035c12
push 0
push 0
call dword [0x1041a00]
mov edi, dword [ebp - 0x480]
mov esi, 0x1041b44
jmp 0x10359a1
cmp dword [ebp - 0x478], 0
je 0x1035c3d
call fcn.010312b1
push dword [0x1041a1c]
call dword [0x1041970]
and dword [0x1041a1c], 0
cmp dword [ebp - 0x46c], 0
jne 0x1035c39
mov ecx, edi
call fcn.01034434
test eax, eax
je 0x1035c39
cmp dword [0x1041a1c], 0
mov dword [ebp - 0x46c], 1
je 0x10355bd
jmp 0x1035c5e
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x32
call fcn.0102822f
lea eax, [ebp - 0x108]
push eax
call fcn.01032572
xor edi, edi
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebp - 0x458], edi
je 0x1035ac6
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1035ad8
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1035aea
push 1
push dword [ebp - 0x454]
call esi
call fcn.01022a68
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0103d1ec
leave
ret 8
lea eax, [ebp - 0x470]
push eax
call fcn.01012ee8
push 0
push 0
call dword [0x1041a00]
mov eax, dword [0x1041a1c]
test eax, eax
je 0x1035d92
cmp dword [0x1041974], 0
je 0x1035cc3
call fcn.01011d7f
test eax, eax
je 0x1035caf
mov eax, dword [eax + 0xc]
mov ax, word [eax + 0x1e6]
mov ecx, 0x3ff
and ax, cx
cmp ax, 1
je 0x1035b61
cmp ax, 0xd
jne 0x1035caf
xor eax, eax
inc eax
jmp 0x1035cb1
lea eax, [ebp - 0x470]
push eax
call fcn.01012ee8
call fcn.010312b1
xor edi, edi
push edi
push edi
call dword [0x1041a00]
call fcn.01039c2e
push dword [0x1041a1c]
call dword [0x1041970]
mov dword [0x1041a1c], edi
jmp 0x1035aae
mov esi, 0x1041b44
call fcn.010312b1
push edi
push edi
call dword [0x1041a00]
call fcn.01039c2e
push dword [0x1041a1c]
call dword [0x1041970]
push dword [ebp - 0x468]
mov dword [0x1041a1c], edi
call fcn.01007110
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebp - 0x458], edi
je 0x1035bec
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1035bfe
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1035c10
push 1
push dword [ebp - 0x454]
call esi
xor esi, esi
call fcn.01022a68
mov eax, esi
jmp 0x1035af1
call fcn.010312b1
push dword [0x1041a1c]
call dword [0x1041970]
xor edi, edi
mov dword [0x1041a1c], edi
jmp 0x1035bd4
xor edi, edi
jmp 0x1035bd4
mov eax, dword [0x1041b20]
mov eax, dword [eax + 8]
dec eax
cmp eax, 2
jle 0x1035c5e
lea eax, [ebp - 0x310]
push eax
push dword [0x1041a1c]
call dword [0x1041b30]
cmp dword [ebp + 0xc], 2
jne 0x1035b18
cmp dword [ebp - 0x458], 0
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1035c81
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], 0
je 0x1035c94
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], 0
je 0x1035ca7
push 1
push dword [ebp - 0x454]
call esi
xor esi, esi
inc esi
jmp 0x1035c12
xor eax, eax
push eax
push 0
push dword [0x1041a1c]
push edi
call dword [0x1041974]
jmp 0x1035ccd
push 0
push eax
push edi
call dword [0x1041b4c]
mov dword [0x1041c88], eax
test eax, eax
je 0x1035d2a
call fcn.0103128c
push 0xfffffffffffffff0
push dword [0x1041c88]
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 4
push eax
push 0xfffffffffffffff0
push dword [0x1041c88]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push dword [0x1041c88]
call fcn.010336eb
push dword [0x1041c88]
mov ebx, edi
call fcn.01031456
push 0x43
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push dword [0x1041c88]
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x1035d42
call fcn.010312b1
push dword [0x1041a1c]
call dword [0x1041970]
and dword [0x1041a1c], 0
call fcn.01039c2e
mov ebx, dword [0x1041c88]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
xor edi, edi
cmp dword [ebp - 0x458], edi
je 0x1035d67
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], edi
je 0x1035d79
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], edi
je 0x1035d8b
push 1
push dword [ebp - 0x454]
call esi
mov esi, ebx
jmp 0x1035c12
cmp dword [ebp - 0x458], 0
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
je 0x1035dab
push 1
push dword [ebp - 0x458]
call esi
cmp dword [ebp - 0x45c], 0
je 0x1035dbe
push 1
push dword [ebp - 0x45c]
call esi
cmp dword [ebp - 0x454], 0
jmp 0x1035c04