Function at 0x442010
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, ecx
cmp edi, 0x110
jne 0x44203c
mov eax, dword [ebp + 0x14]
push eax
push 8
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 8
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
lea eax, [edi - 0x53]
cmp eax, 0xc0
ja case.0x442057.88
xor ecx, ecx
mov cl, byte [eax + 0x442810]
jmp dword [ecx*4 + 0x4427f8]
push ebx
mov ecx, esi
call fcn.004418f0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebp + 0x10], 1
jne 0x4420ad
push 1
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4f83ec]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x2dc]
test eax, eax
je 0x4420ad
mov ecx, dword [esi + 0x14]
push 0xffffffffffffffff
call fcn.004a20c0
mov ecx, dword [esi + 0x18]
push 0xffffffffffffffff
call fcn.004a20c0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp + 0x10]
push 0x4eed04
push 0xc
push str.ACDSee.hlp
push edx
call dword [sym.imp.USER32.dll_WinHelpA]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], 1
jne 0x4420fe
mov eax, dword [eax + 0xc]
push 0x4eed04
push 0xc
push str.ACDSee.hlp
push eax
call dword [sym.imp.USER32.dll_WinHelpA]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x10]
mov eax, ecx
and ecx, 0xffff
shr eax, 0x10
mov edi, ecx
cmp eax, 0x100
mov dword [esp + 0x10], edi
jne 0x442151
cmp edi, 0xa9
jne case.0x442057.88
push 0
push 0x35
push 0x401
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test eax, eax
jne case.0x442057.88
lea eax, [edi - 0x13f]
cmp eax, 0x52
ja case.0x442170.327
xor ecx, ecx
mov cl, byte [eax + 0x4428f8]
jmp dword [ecx*4 + 0x4428d4]
mov edx, dword [0x4f83ec]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov dword [ecx + 0x2dc], 0
mov ecx, esi
call fcn.00441df0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x144
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call edi
push 0
push 0x18e
push ebx
call esi
push eax
call edi
push 0
push 0x18d
push ebx
call esi
push eax
call edi
push 0
push 0x18f
push ebx
call esi
push eax
call edi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [0x4f83ec]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov dword [ecx + 0x2dc], 1
jmp 0x442219
mov edx, dword [0x4f83ec]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov dword [ecx + 0x2dc], 2
mov ecx, esi
call fcn.00441df0
mov ecx, dword [esi + 0x14]
push 0xffffffffffffffff
call fcn.004a20c0
mov ecx, dword [esi + 0x18]
push 0xffffffffffffffff
call fcn.004a20c0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push 0x144
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call edi
push 1
push 0x18e
push ebx
call esi
push eax
call edi
push 1
push 0x18d
push ebx
call esi
push eax
call edi
push 1
push 0x18f
push ebx
call esi
push eax
call edi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x144
push ebx
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov edx, dword [0x4f83ec]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + edx*4]
mov byte [edx + 0x2db], al
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
fld qword [0x4d8f38]
fsqrt
mov ecx, dword [esi + 0x14]
fst qword [esp + 0x18]
fmul qword [ecx + 0x58]
fld qword [0x4d8f20]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x4422e7
fstp st(0)
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x40590000
jmp 0x4422eb
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push eax
push edx
call fcn.004a2420
mov ecx, dword [esi + 0x18]
fld qword [ecx + 0x58]
fmul qword [esp + 0x18]
fld qword [0x4d8f20]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x442327
fstp st(0)
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x40590000
jmp 0x44232b
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push eax
push edx
call fcn.004a2420
mov ecx, dword [esi + 0x14]
call fcn.004a1ec0
mov ecx, dword [esi + 0x18]
call fcn.004a1ec0
mov edx, dword [esi + 0x14]
fld qword [edx + 0x58]
fcomp qword [0x4d8f20]
fnstsw ax
test ah, 1
je 0x442377
mov eax, dword [esi + 0x18]
fld qword [eax + 0x58]
fcomp qword [0x4d8f20]
fnstsw ax
test ah, 1
je 0x442377
mov ecx, 1
jmp 0x442379
xor ecx, ecx
fld qword [edx + 0x58]
fcomp qword [0x4d8f30]
fnstsw ax
test ah, 0x41
jne 0x4423a4
mov edx, dword [esi + 0x18]
mov dword [esp + 0x18], 1
fld qword [edx + 0x58]
fcomp qword [0x4d8f30]
fnstsw ax
test ah, 0x41
je 0x4423ac
mov dword [esp + 0x18], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push ecx
push 0x18d
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call edi
mov eax, dword [esp + 0x18]
push eax
push 0x18e
push ebx
call esi
push eax
call edi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
fld qword [0x4d8f38]
fsqrt
mov ecx, dword [esi + 0x14]
fst qword [esp + 0x18]
fdivr qword [ecx + 0x58]
fld qword [0x4d8f30]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x442417
fstp st(0)
mov dword [esp + 0x10], 0x47ae147b
mov dword [esp + 0x14], 0x3f847ae1
jmp 0x44241b
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.004a2420
mov ecx, dword [esi + 0x18]
fld qword [ecx + 0x58]
fdiv qword [esp + 0x18]
fld qword [0x4d8f30]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x442457
fstp st(0)
mov dword [esp + 0x10], 0x47ae147b
mov dword [esp + 0x14], 0x3f847ae1
jmp 0x44245b
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.004a2420
mov ecx, dword [esi + 0x14]
call fcn.004a1ec0
mov ecx, dword [esi + 0x18]
call fcn.004a1ec0
mov edx, dword [esi + 0x14]
fld qword [edx + 0x58]
fcomp qword [0x4d8f20]
fnstsw ax
test ah, 1
je 0x4424a7
mov ecx, dword [esi + 0x18]
fld qword [ecx + 0x58]
fcomp qword [0x4d8f20]
fnstsw ax
test ah, 1
je 0x4424a7
mov ecx, 1
jmp 0x4424a9
xor ecx, ecx
fld qword [edx + 0x58]
fcomp qword [0x4d8f30]
fnstsw ax
test ah, 0x41
jne 0x4424d4
mov edx, dword [esi + 0x18]
mov dword [esp + 0x18], 1
fld qword [edx + 0x58]
fcomp qword [0x4d8f30]
fnstsw ax
test ah, 0x41
je 0x4424dc
mov dword [esp + 0x18], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push ecx
push 0x18d
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call edi
mov eax, dword [esp + 0x18]
push eax
push 0x18e
push ebx
call esi
push eax
call edi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, esi
call fcn.00441df0
mov ecx, dword [esi + 0x14]
push 0xffffffffffffffff
call fcn.004a20c0
mov ecx, dword [esi + 0x18]
push 0xffffffffffffffff
call fcn.004a20c0
mov edx, dword [esi + 0x14]
fld qword [edx + 0x58]
fcomp qword [0x4d8f20]
fnstsw ax
test ah, 1
je 0x44255a
mov ecx, dword [esi + 0x18]
fld qword [ecx + 0x58]
fcomp qword [0x4d8f20]
fnstsw ax
test ah, 1
je 0x44255a
mov ecx, 1
jmp 0x44255c
xor ecx, ecx
fld qword [edx + 0x58]
fcomp qword [0x4d8f30]
fnstsw ax
test ah, 0x41
jne 0x442587
mov edx, dword [esi + 0x18]
mov dword [esp + 0x18], 1
fld qword [edx + 0x58]
fcomp qword [0x4d8f30]
fnstsw ax
test ah, 0x41
je 0x44258f
mov dword [esp + 0x18], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push ecx
push 0x18d
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call edi
mov eax, dword [esp + 0x18]
push eax
push 0x18e
push ebx
call esi
push eax
call edi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x190
jne 0x4425d2
mov edi, dword [esi + 0x18]
jmp 0x4425d5
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4425f0
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x4425f0
call fcn.0049d8a0
test eax, eax
je 0x4425f0
mov ecx, edi
call fcn.004a22b0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
jne 0x44261f
mov ecx, dword fs:[0x2c]
mov edx, dword [0x4f83ec]
mov dword [esp + 0x18], 1
mov eax, dword [ecx + edx*4]
mov cl, byte [eax + 0x225]
test cl, cl
jne 0x442627
mov dword [esp + 0x18], 0
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [esp + 0x10], 0x190
jne 0x44269f
mov ecx, dword fs:[0x2c]
mov edx, dword [0x4f83ec]
mov eax, 1
mov ecx, dword [ecx + edx*4]
mov dl, byte [ecx + 0x227]
test dl, dl
jne 0x442669
mov eax, 3
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x442673
or al, 4
mov ecx, dword [esi + 8]
push eax
push ebx
call fcn.004259a0
test eax, eax
je 0x4427e9
push 0x109
push ebx
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x40]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [esp + eax + 0x41], 0
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x40]
test eax, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], edx
mov word [esp + 0x30], 4
jne 0x4426f7
mov word [esp + 0x30], 0x14
mov eax, dword fs:[0x2c]
mov ecx, dword [0x4f83ec]
mov edx, dword [eax + ecx*4]
mov al, byte [edx + 0x227]
test al, al
jne 0x442715
or byte [esp + 0x30], 0x40
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
mov esi, dword [esi + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4427e9
push 0x109
push ebx
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x35
jne 0x4427e1
lea ecx, [esp + 0x40]
push 0x105
push ecx
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
mov eax, dword [esi + 0xc]
push eax
call fcn.00471a00
add esp, 4
lea edx, [esp + 0x40]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4427e1
mov eax, dword [esi]
push 0
push 0x224
push 0x1fc
push ebx
push eax
call fcn.00471530
add esp, 0x14
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 0xffffffffffffffff
push 0
push 0xb1
push 0xa9
push ebx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push edi
push ebx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10