Function at 0x4055fc
Capabilities:
Get file attributes

Disassembly:
push ebp
sub esp, 0xec
lea ebp, [esp - 4]
mov eax, dword [0x42d43c]
xor eax, ebp
mov dword [ebp + 0xec], eax
push 0x8c
mov eax, 0x422c44
call fcn.0040e291
mov eax, dword [ebp + 0xfc]
mov esi, dword [ebp + 0xf8]
mov edi, dword [ebp + 0x100]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x104]
xor ebx, ebx
push esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x30], eax
mov byte [ebp - 0xd], bl
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 1
jne 0x405686
lea eax, [ebp + 0x2c]
push esi
push eax
call fcn.00404235
push eax
mov dword [ebp - 4], ebx
call fcn.004076bb
add esp, 0xc
neg al
sbb al, al
push ebx
inc al
push 1
lea ecx, [ebp + 0x2c]
mov byte [ebp - 0x31], al
call fcn.0040270c
cmp byte [ebp - 0x31], bl
je 0x40568a
mov byte [ebp - 0xd], 1
cmp edi, ebx
je 0x405695
cmp byte [edi], bl
jne 0x405695
mov dword [ebp - 0x24], ebx
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x28], 0xf
call fcn.00401f33
mov dword [ebp - 4], 1
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.00402bf7
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 3
call fcn.004051f3
push dword [ebp - 0x38]
call fcn.00407341
mov edi, dword [sym.imp.ole32.dll_CLSIDFromProgID]
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
lea eax, [ebp]
push eax
mov esi, str.Excel.Application.14
push esi
mov dword [ebp - 0x28], str.Excel.Application
mov dword [ebp - 0x2c], ebx
call edi
test eax, eax
jge 0x405705
lea eax, [ebp]
push eax
mov esi, str.Excel.Application.12
push esi
call edi
test eax, eax
jl 0x40570f
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], esi
xor edi, edi
inc edi
cmp dword [ebp - 0x18], ebx
je 0x405726
cmp dword [ebp - 0x2c], ebx
jne 0x405726
push str.This_file_requires_Microsoft_Excel_2007_or_higher_to_be_installed_on_your_PC._nMicrosoft_Excel_installed_on_your_PC_cant_open_this_document.
jmp 0x405ec5
push 4
push ebx
push dword [ebp - 0x28]
lea ecx, [ebp - 0x14]
call fcn.0040109f
cmp eax, ebx
jl 0x405e2a
push ebx
lea ecx, [ebp + 0x2c]
mov dword [ebp - 0x48], ebx
mov dword [ebp + 0x44], 0xf
call fcn.00401f33
push ebx
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp - 0x14]
push 0x424d70
push eax
mov byte [ebp - 4], 4
call fcn.00406d01
add esp, 0x10
test al, al
je 0x405790
cmp dword [ebp + 0x40], ebx
je 0x405790
cmp dword [ebp + 0x44], 0x10
mov eax, dword [ebp + 0x30]
jae 0x40577e
lea eax, [ebp + 0x30]
lea ecx, [ebp - 0x48]
push ecx
push 0x424d6c
push eax
call fcn.004103fb
add esp, 0xc
push ebx
push edi
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 3
call fcn.0040270c
cmp dword [ebp - 0x18], ebx
je 0x4057b3
cmp dword [ebp - 0x48], 0xc
jge 0x4057b3
push str.The_file_you_are_using_cant_be_opened_in_this_version_of_Microsoft_Excel._nPlease__make_sure_that_your_default_version_of_Excel_application_is_Excel_2007_or_higher_and_try_again.
jmp 0x405ec5
xor esi, esi
mov dword [ebp - 0x2c], ebx
push ebx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push str.Workbooks
push eax
mov byte [ebp - 4], 5
call fcn.00406ac0
add esp, 0x10
test al, al
je 0x405e10
push edi
lea ecx, [ebp + 0x38]
call fcn.00405088
cmp dword [ebp - 0x24], ebx
mov byte [ebp - 4], 6
je 0x4059b8
push dword [ebp - 0x48]
lea eax, [ebp + 0x48]
push dword [ebp - 0x20]
push eax
call fcn.0040498b
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 7
call fcn.00402d9a
push ebx
push edi
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 6
call fcn.0040270c
cmp dword [ebp + 0x24], ebx
jne 0x405837
mov ecx, dword [ebp - 0x30]
push str.Loaded_addin_can_not_be_extracted_from_the_executable.
call fcn.00403094
jmp 0x405e08
cmp dword [ebp + 0x28], 0x10
mov eax, dword [ebp + 0x14]
jae 0x405843
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401940
push eax
push ebx
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 8
call fcn.004018e6
mov ecx, eax
call fcn.00401ac5
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
je 0x40586d
call fcn.00402890
mov dword [ebp - 0x18], ebx
push ebx
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0x2c]
push str.Open
push eax
mov byte [ebp - 4], 9
call fcn.00406b93
add esp, 0x14
test al, al
je 0x405953
push 2
lea ecx, [ebp + 0x54]
call fcn.00405088
push 0x424c48
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call fcn.00401940
push eax
push edi
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0xb
call fcn.004018e6
mov ecx, eax
call fcn.00401ac5
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
mov byte [ebp - 4], 0xa
je 0x4058d6
call fcn.00402890
push dword [ebp - 0x24]
lea ecx, [ebp - 0x20]
call fcn.00401940
push eax
push ebx
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0xc
call fcn.004018e6
mov ecx, eax
call fcn.00401ac5
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
je 0x405902
call fcn.00402890
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp - 0x14]
push 0x424c40
push eax
mov byte [ebp - 4], 0xd
call fcn.00406b34
add esp, 0x14
test al, al
je 0x405932
mov esi, edi
jmp 0x40593f
mov ecx, dword [ebp - 0x30]
push str.Macro_can_not_be_executed
call fcn.00403094
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp + 0x54]
call fcn.004030b1
jmp 0x40599f
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x70]
push str.Addin_
push eax
call fcn.00403b09
push str._can_not_be_opened.
push eax
lea eax, [ebp + 0x48]
push eax
mov byte [ebp - 4], 0xe
call fcn.00403b54
add esp, 0x18
mov ecx, dword [ebp - 0x30]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 0xf
call fcn.00402d9a
push ebx
push edi
lea ecx, [ebp + 0x48]
call fcn.0040270c
push ebx
push edi
lea ecx, [ebp - 0x70]
call fcn.0040270c
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov byte [ebp - 4], 6
je 0x4059b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
je 0x405e08
push edi
lea eax, [ebp - 0x14]
push str.Visible
push eax
call fcn.00406779
lea eax, [ebp - 0x14]
push str.Activate
push eax
call fcn.0040684a
push ebx
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x14]
push str.HWND
push eax
mov dword [ebp - 0x3c], ebx
call fcn.004069c1
add esp, 0x24
test al, al
jne 0x405a97
lea ecx, [ebp + 0x58]
call fcn.00402bf7
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x10
call fcn.004051f3
cmp dword [ebp + 0x60], ebx
pop ecx
je 0x405a8b
mov eax, dword [ebp + 0x5c]
mov eax, dword [eax]
lea ecx, [ebp + 0x58]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402458
jmp 0x405a60
lea ecx, [ebp - 0x1c]
call fcn.004019f4
mov esi, eax
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x50]
lea ecx, [ebp - 0x78]
call fcn.00402458
push esi
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x54]
call fcn.00402fa0
push eax
lea ecx, [ebp - 0x78]
call fcn.004010ec
test al, al
lea ecx, [ebp - 0x1c]
jne 0x405a81
call fcn.00401b88
lea eax, [ebp + 0x58]
push eax
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x44]
call fcn.00402458
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x44]
call fcn.004010ec
test al, al
je 0x405a25
jmp 0x405a8b
call fcn.004019f4
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 6
call fcn.00404f35
cmp dword [ebp - 0x3c], ebx
je 0x405aa5
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x28]
call fcn.00406fea
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x11
call fcn.0040439e
cmp dword [ebp - 0x24], ebx
pop ecx
jne 0x405b98
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x28]
call fcn.004070d5
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x12
xor esi, esi
call fcn.00406fa8
mov edi, eax
cmp edi, ebx
jle 0x405b89
inc esi
push esi
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x18]
call fcn.00407115
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x13
call fcn.00407219
push str.LockXLSRuntime.Connect
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 0x14
call fcn.004025f2
test eax, eax
je 0x405b3c
push ebx
push 1
lea ecx, [ebp + 0x48]
call fcn.0040270c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.004018d9
cmp esi, edi
jl 0x405aec
jmp 0x405b89
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.00407004
cmp dword [ebp - 0x40], ebx
mov byte [ebp - 4], 0x15
je 0x405b61
lea eax, [ebp - 0x40]
push str.IsWorkbookProtected
push eax
call fcn.0040684a
pop ecx
pop ecx
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov byte [ebp - 4], 0x14
je 0x405b72
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
push 1
lea ecx, [ebp + 0x48]
call fcn.0040270c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.004018d9
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.004018d9
xor edi, edi
inc edi
mov dword [ebp - 0x20], ebx
cmp byte [ebp - 0xd], bl
mov byte [ebp - 4], 0x16
lea ecx, [ebp + 0x38]
je 0x405c03
push 3
call fcn.004050c6
push dword [ebp - 0x38]
lea ecx, [ebp - 0x18]
call fcn.00401940
push eax
push 2
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x17
call fcn.004018e6
mov ecx, eax
call fcn.00401ac5
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
mov byte [ebp - 4], 0x16
je 0x405bdf
call fcn.00402890
push edi
push edi
lea ecx, [ebp + 0x38]
call fcn.004018e6
mov ecx, eax
call fcn.00401b2e
push edi
push ebx
lea ecx, [ebp + 0x38]
call fcn.004018e6
mov ecx, eax
call fcn.00401b2e
jmp 0x405c39
push edi
call fcn.004050c6
push dword [ebp - 0x38]
lea ecx, [ebp - 0x18]
call fcn.00401940
push eax
push ebx
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x18
call fcn.004018e6
mov ecx, eax
call fcn.00401ac5
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
mov byte [ebp - 4], 0x16
je 0x405c39
call fcn.00402890
push 0x20
lea eax, [ebp - 0x98]
push ebx
push eax
call fcn.00410280
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0x2c]
push str.Open
push eax
call fcn.00406b93
add esp, 0x20
test al, al
push edi
je 0x405d14
lea eax, [ebp - 0x14]
push str.EnableEvents
push eax
call fcn.00406779
add esp, 0xc
push edi
lea ecx, [ebp + 0x54]
call fcn.00405088
push str.Auto_Open
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x19
call fcn.00401940
push eax
push ebx
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x1a
call fcn.004018e6
mov ecx, eax
call fcn.00401ac5
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x405cbd
call fcn.00402890
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp - 0x14]
push 0x424c40
push eax
mov byte [ebp - 4], 0x1b
call fcn.00406b34
push edi
lea eax, [ebp - 0x14]
push str.ScreenUpdating
push eax
call fcn.00406779
lea eax, [ebp - 0x28]
push eax
call fcn.0040441d
add esp, 0x24
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp + 0x54]
call fcn.004030b1
jmp 0x405deb
push 3
lea ecx, [ebp + 0x64]
call fcn.00405595
push str.Error_description:
push str._can_not_be_opened._n
push dword [ebp - 0x38]
lea eax, [ebp + 0x6c]
push str.File_
push eax
mov byte [ebp - 4], 0x1c
call fcn.004052ee
pop ecx
pop ecx
push eax
call fcn.004052ee
pop ecx
pop ecx
push eax
call fcn.004052ee
pop ecx
pop ecx
push eax
call fcn.004052ee
cmp dword [ebp - 0x90], ebx
pop ecx
pop ecx
je 0x405d9e
push dword [ebp - 0x90]
lea ecx, [ebp - 0x18]
call fcn.0040198d
mov ecx, dword [eax]
cmp ecx, ebx
mov byte [ebp - 4], 0x1d
je 0x405d7e
call fcn.00401179
jmp 0x405d80
xor eax, eax
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.004052ee
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
mov byte [ebp - 4], 0x1c
je 0x405dae
call fcn.00402890
jmp 0x405dae
lea eax, [ebp + 0x6c]
push str._not_available_
push eax
call fcn.004052ee
pop ecx
pop ecx
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp + 0x64]
call fcn.004036d7
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0x1e
jb 0x405dc9
mov eax, dword [eax + 4]
jmp 0x405dcc
add eax, 4
mov ecx, dword [ebp - 0x30]
push eax
call fcn.00403094
push ebx
push edi
lea ecx, [ebp + 0x48]
call fcn.0040270c
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x16
call fcn.00402b7a
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov byte [ebp - 4], 0x11
je 0x405dfc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.004018d9
lea ecx, [ebp + 0x38]
call fcn.004030b1
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
mov byte [ebp - 4], 3
je 0x405ecd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x405ecd
cmp eax, 0x800401f3
je 0x405e38
cmp eax, 0x80040154
jne 0x405ea9
push edi
push 3
lea ecx, [ebp + 0x64]
call fcn.00405595
cmp dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x1f
lea eax, [ebp + 0x6c]
je 0x405e5b
push str.Microsoft_Excel_installed_on_your_PC_cant_open_this_document.
push str.This_file_requires_Microsoft_Excel_2007_or_higher_to_be_installed_on_your_PC._n
jmp 0x405e65
push str.Possible__you_doesnt_have_Microsoft_Excel_installed_or_your_user_account_doesnt_have_enough_rights_to_run_Excel_application.
push str.This_file_requires_Microsoft_Excel_to_be_installed_on_your_PC._n
push eax
call fcn.004052ee
pop ecx
pop ecx
push eax
call fcn.004052ee
pop ecx
pop ecx
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp + 0x64]
call fcn.004036d7
mov ecx, dword [ebp - 0x30]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 0x20
call fcn.00402d9a
push ebx
push edi
lea ecx, [ebp + 0x2c]
call fcn.0040270c
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 3
call fcn.00402b7a
jmp 0x405ecd
push eax
lea eax, [ebp + 0x88]
push str.LockXLS_was_unable_to_launch_Excel_application._Error_code:_0x_LX
push eax
call fcn.00410318
add esp, 0xc
lea eax, [ebp + 0x88]
push eax
mov ecx, dword [ebp - 0x30]
call fcn.00403094
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.00404f35
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x405eea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
push edi
lea ecx, [ebp + 0x10]
call fcn.0040270c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xec]
xor ecx, ebp
call fcn.0040d7fc
add ebp, 0xf0
leave
ret