Function at 0x435972
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ef700
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x541100]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x20], esi
call fcn.004bdbe3
push eax
lea ecx, [esp + 0x18]
call fcn.004204a1
lea eax, [esi + 0x170]
xor ebx, ebx
push eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x28], eax
call fcn.0042ad94
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0x2370]
call fcn.004c3bea
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebx
jne 0x4359ed
lea ecx, [eax - 0x10]
jmp 0x435f4f
lea edi, [esi + 0xa8]
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
mov dword [esp + 0x1c], edi
sar eax, 2
test eax, eax
jbe 0x435d20
test byte [esi + 0x23c8], 2
jne 0x435a20
mov eax, dword [esi + 0x138]
cmp dword [eax - 0xc], ebx
je 0x435d20
push ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x30], esp
mov ecx, esp
push eax
call fcn.00422f20
lea eax, [esp + 0x30]
push eax
call fcn.00477870
pop ecx
pop ecx
push ebx
push ebx
push 0x147
mov byte [esp + 0x8c], 1
push dword [esi + 0x100]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebx
mov dword [esp + 0x28], eax
jl 0x435d0d
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
sar ecx, 2
cmp eax, ecx
jge 0x435d0d
mov ebx, dword [edi + 0xc]
lea esi, [esp + 0x4c]
call fcn.00457361
push dword [esp + 0x28]
lea ebx, [esp + 0x58]
mov eax, esi
call fcn.00423a3b
mov esi, eax
call fcn.00422da5
push eax
lea ecx, [esp + 0x2c]
call fcn.00422f20
mov byte [esp + 0x80], 2
mov edi, dword [esp + 0x1c]
mov ebx, dword [edi + 0xc]
and dword [esp + 0x18], 0
lea esi, [esp + 0x3c]
call fcn.00457361
mov ebx, dword [edi + 0x10]
lea esi, [esp + 0x44]
call fcn.00457361
mov edi, esi
lea esi, [esp + 0x3c]
call fcn.00422d88
test al, al
je 0x435bc8
lea eax, [esp + 0x5c]
push eax
call fcn.00429c03
lea eax, [esp + 0x5c]
push eax
lea esi, [esp + 0x40]
mov byte [esp + 0x84], 3
call fcn.00422da5
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00422812
call fcn.004357ce
mov esi, dword [esp + 0x70]
pop ecx
pop ecx
cmp esi, dword [esp + 0x6c]
jbe 0x435b20
call fcn.004cce91
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x68], esi
jbe 0x435b3b
call fcn.004cce91
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], esi
lea edi, [esp + 0x4c]
lea esi, [esp + 0x34]
mov dword [esp + 0x4c], eax
call fcn.00422d88
test al, al
je 0x435b7f
mov edi, dword [esp + 0x2c]
call fcn.00422da5
mov eax, dword [eax]
push edi
push eax
call fcn.004cca64
pop ecx
pop ecx
test eax, eax
je 0x435b77
call fcn.00422dcd
jmp 0x435b2c
mov dword [esp + 0x18], 1
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x84], 2
call fcn.00422b95
lea esi, [esp + 0x3c]
call fcn.00422dcd
mov edi, dword [esp + 0x1c]
mov ebx, dword [edi + 0x10]
lea esi, [esp + 0x44]
call fcn.00457361
mov edi, esi
lea esi, [esp + 0x3c]
call fcn.00422d88
test al, al
jne 0x435add
cmp dword [esp + 0x18], 0
jne 0x435cfb
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push str.OnOkBtnClick:_no_extension_found._Adding_selected_filters_extension.
push eax
call fcn.004777e0
pop ecx
pop ecx
call fcn.00432346
pop ecx
lea eax, [esp + 0x5c]
push eax
call fcn.00429c03
lea eax, [esp + 0x5c]
push eax
push ecx
mov byte [esp + 0x88], 4
lea eax, [esp + 0x30]
mov dword [esp + 0x38], esp
mov ecx, esp
push eax
call fcn.00422f20
call fcn.004357ce
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
sub eax, esi
sar eax, 2
pop ecx
pop ecx
test eax, eax
jbe 0x435ce9
cmp esi, dword [esp + 0x6c]
jbe 0x435c31
call fcn.004cce91
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], esi
lea esi, [esp + 0x4c]
mov dword [esp + 0x4c], eax
call fcn.00422da5
push eax
lea ecx, [esp + 0x1c]
call fcn.00422f20
push 0x507ffc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 5
call fcn.00422e4b
test eax, eax
je 0x435cbe
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push 0x5050b0
push eax
call fcn.00422acb
add esp, 0xc
mov byte [esp + 0x80], 6
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [esp + 0x18]
push eax
call fcn.00423b68
mov byte [esp + 0x80], 5
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0042001a
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push dword [esp + 0x1c]
push str.OnOkBtnClick:_adding_selected_filters_extension:__s
jmp 0x435cce
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push dword [esp + 0x1c]
push str.OnOkBtnClick:_avoiding_special_filter:__s
push eax
call fcn.004777e0
add esp, 0xc
call fcn.00432346
pop ecx
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.0042001a
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x84], 2
call fcn.00422b95
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0042001a
mov esi, dword [esp + 0x20]
xor ebx, ebx
mov byte [esp + 0x80], bl
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.0042001a
mov dword [esp + 0x2c], ebx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x502014
lea edi, [esp + 0x34]
call fcn.00422827
push ecx
mov byte [esp + 0x88], 7
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], esp
mov ecx, esp
push eax
call fcn.00422f20
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x8c], bl
call fcn.0047b9d0
add esp, 0xc
mov byte [esp + 0x80], 8
call fcn.0042296d
push eax
lea ecx, [esp + 0x2c]
call fcn.00422f20
mov byte [esp + 0x80], 0xa
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0042001a
cmp dword [esp + 0x2c], 0xffffffff
mov edi, dword [esp + 0x28]
je 0x435de0
cmp dword [edi - 0xc], ebx
je 0x435de0
push 1
push ebx
push 1
push ecx
lea eax, [esp + 0x38]
mov dword [esp + 0x40], esp
mov ecx, esp
push eax
call fcn.00422f20
mov ecx, esi
call fcn.00435583
lea ecx, [edi - 0x10]
cmp eax, ebx
je 0x435dd6
mov byte [esp + 0x80], bl
call fcn.0042001a
jmp 0x435d24
call fcn.0042001a
jmp 0x435f48
lea ecx, [edi - 0x10]
mov byte [esp + 0x80], bl
call fcn.0042001a
test byte [0x547420], 4
mov dword [esp + 0x2c], ebx
je 0x435f3f
mov edi, dword [esp + 0x24]
mov ebx, dword [edi + 0xc]
lea esi, [esp + 0x3c]
call fcn.00457361
mov ebx, dword [edi + 0x10]
lea esi, [esp + 0x44]
call fcn.00457361
mov edi, esi
lea esi, [esp + 0x3c]
call fcn.00422d88
test al, al
je 0x435f3b
lea esi, [esp + 0x3c]
call fcn.00422da5
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x435e54
test eax, 0x800
je 0x435e54
mov dword [esp + 0x2c], 1
lea esi, [esp + 0x3c]
call fcn.00422dcd
mov edi, dword [esp + 0x24]
mov ebx, dword [edi + 0x10]
lea esi, [esp + 0x44]
call fcn.00457361
mov edi, esi
lea esi, [esp + 0x3c]
call fcn.00422d88
test al, al
jne 0x435e2f
xor ebx, ebx
cmp dword [esp + 0x2c], ebx
je 0x435f3b
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.CAMEYO_FILEDLG_CONVERTEDFILES_MSG_TITLE
mov esi, 0x400
call fcn.00422827
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.0047df50
add esp, 4
mov byte [esp + 0x84], 0xb
mov ecx, esp
mov dword [esp + 0x34], esp
push str.CAMEYO_FILEDLG_CONVERTEDFILES_MSG
call fcn.00422827
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.0047df50
pop ecx
pop ecx
mov byte [esp + 0x80], 0xc
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], ebx
jne 0x435ef2
push str.Document_conversion
lea ecx, [esp + 0x20]
call fcn.004233e5
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], ebx
jne 0x435f09
push str.This_Google_Document_will_be_cloned_as_a_Microsoft_Office_file.
lea ecx, [esp + 0x1c]
call fcn.004233e5
push dword [esp + 0x1c]
xor eax, eax
push dword [esp + 0x1c]
push dword [esp + 0x28]
call fcn.0043644c
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.0042001a
mov byte [esp + 0x80], bl
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0042001a
mov esi, dword [esp + 0x20]
push 1
mov ecx, esi
call fcn.004bee97
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret