Function at 0x4134da
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2894
call fcn.0041a760
push esi
push edi
xor edi, edi
cmp dword [ebx + 0x1f1c8], edi
je 0x41364e
cmp word [ebx + 0x1f1cc], di
je 0x41364e
push dword [ebp + 8]
mov dword [ebp - 0x20], edi
call fcn.00407256
cmp eax, edi
pop ecx
mov dword [ebp - 0x3c], eax
je 0x413713
cmp dword [ebx + 0x21230], edi
je 0x4135a1
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], 0x8000
mov dword [ebp - 0x10], 1
call dword [eax]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x30], 0x41d7b8
mov dword [ebp - 0x2c], ebx
call fcn.00415c4f
test eax, eax
je 0x413599
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
mov esi, dword [ebp - 0x1c]
cmp esi, edi
jne 0x413570
mov esi, 0x41b5e0
lea eax, [ebp - 0x1c]
call fcn.004084c4
add eax, eax
push eax
push esi
mov esi, ebx
call fcn.00413297
test eax, eax
je 0x41358a
xor edi, edi
inc edi
lea esi, [ebp - 0x1c]
call fcn.00408466
mov eax, edi
jmp 0x413651
lea esi, [ebp - 0x1c]
call fcn.00408466
mov esi, dword [ebp - 0x3c]
push str.docx
push esi
call sub.msvcrt.dll__wcsicmp
test eax, eax
pop ecx
pop ecx
je 0x4136c1
push str.docm
push esi
call sub.msvcrt.dll__wcsicmp
test eax, eax
pop ecx
pop ecx
je 0x4136c1
push str.xlsx
push esi
call sub.msvcrt.dll__wcsicmp
test eax, eax
pop ecx
pop ecx
je 0x4135f4
push str.xlsm
push esi
call sub.msvcrt.dll__wcsicmp
test eax, eax
pop ecx
pop ecx
jne 0x413713
push str.sharedStrings.xml
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 8]
mov dword [ebp - 8], 1
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], 0x4000
call fcn.00413184
test eax, eax
je 0x413657
mov esi, dword [ebp - 0x1c]
cmp esi, edi
jne 0x41362f
mov esi, 0x41b5e0
lea eax, [ebp - 0x1c]
call fcn.004084c4
add eax, eax
push eax
push esi
mov esi, ebx
call fcn.00413297
test eax, eax
je 0x413657
lea esi, [ebp - 0x1c]
call fcn.00408466
xor eax, eax
inc eax
pop edi
pop esi
leave
ret 4
push 1
jmp 0x413688
mov esi, dword [ebp - 0x1c]
test esi, esi
jne 0x413667
mov esi, 0x41b5e0
lea eax, [ebp - 0x1c]
call fcn.004084c4
add eax, eax
push eax
push esi
mov esi, ebx
call fcn.00413297
test eax, eax
jne 0x413587
inc dword [ebp - 8]
push dword [ebp - 8]
lea eax, [ebp - 0x94]
push str.sheet_d.xml
push eax
call sub.msvcrt.dll_sprintf
add esp, 0xc
lea edi, [ebp - 0x1c]
call fcn.0040848b
lea eax, [ebp - 0x94]
push eax
mov eax, edi
push eax
push dword [ebp + 8]
call fcn.00413184
test eax, eax
jne 0x41365b
xor edi, edi
jmp 0x41358a
push edi
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 8]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], 0x4000
call fcn.00413184
test eax, eax
je 0x41370b
mov esi, dword [ebp - 0x1c]
cmp esi, edi
jne 0x4136f1
mov esi, 0x41b5e0
lea eax, [ebp - 0x1c]
call fcn.004084c4
add eax, eax
push eax
push esi
mov esi, ebx
call fcn.00413297
mov edi, eax
jmp 0x41358a
lea esi, [ebp - 0x1c]
call fcn.00408466
cmp dword [ebx + 0x1f1c8], 3
push dword [ebp + 8]
jne 0x413840
call fcn.00406cbc
cmp eax, 0xffffffff
pop ecx
mov dword [ebp - 8], eax
je 0x413b0f
xor ecx, ecx
push ecx
push dword [ebp - 8]
mov eax, 0x1388
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
lea edi, [eax + 0xa]
lea esi, [ebp - 0x34]
mov dword [ebp + 8], eax
call fcn.00408a63
push dword [ebp + 8]
xor esi, esi
push dword [ebp - 0x34]
push dword [ebp - 8]
call fcn.00407989
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x34]
add eax, ecx
mov byte [eax], 0
mov byte [eax + 1], 0
mov byte [eax + 2], 0
mov cl, byte [ecx]
add esp, 0xc
cmp cl, 0xff
jne 0x4137a1
cmp byte [esi + 1], 0xfe
jne 0x4137a1
add esi, 2
jmp 0x41380d
mov al, byte [esi + 1]
test al, al
jne 0x4137ac
test cl, cl
jne 0x41380d
cmp cl, 0xef
jne 0x4137e6
cmp al, 0xbb
jne 0x4137e6
cmp byte [esi + 2], 0xbf
jne 0x4137e6
add edi, edi
lea esi, [ebp - 0x14]
call fcn.00408a63
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
and word [esi], 0
add eax, 2
push eax
mov eax, dword [ebp - 0x34]
push esi
push 0xffffffffffffffff
add eax, 3
push eax
push 0
push 0xfde9
jmp 0x413807
add edi, edi
lea esi, [ebp - 0x14]
call fcn.00408a63
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
xor eax, eax
add ecx, 2
push ecx
push esi
push 0xffffffffffffffff
push dword [ebp - 0x34]
mov word [esi], ax
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push esi
call sub.msvcrt.dll_wcslen
pop ecx
add eax, eax
push eax
push esi
mov esi, ebx
call fcn.00413297
lea esi, [ebp - 0x14]
mov dword [ebp - 0x20], eax
call fcn.00408a4e
lea esi, [ebp - 0x34]
call fcn.00408a4e
jmp 0x413b0f
call fcn.00406cbc
cmp eax, 0xffffffff
pop ecx
mov dword [ebp - 8], eax
je 0x413b0f
push 0x27ff
lea eax, [ebp - 0x2893]
push edi
push eax
mov byte [ebp - 0x2894], 0
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
jmp 0x413af7
mov eax, dword [ebp - 0x40]
push 0x2000
lea eax, [ebp + eax - 0x2894]
push eax
push dword [ebp - 8]
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x3c], edi
call fcn.00407989
mov eax, dword [ebp - 0x3c]
add esp, 0xc
cmp eax, edi
jbe 0x413b06
cmp dword [ebx + 0x13164], edi
mov dword [ebp - 0x48], edi
mov dword [ebp + 8], edi
jle 0x413aa4
mov ecx, dword [ebp - 0x40]
add eax, ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 8]
or dword [ebp - 0x4c], 0xffffffff
or dword [ebp - 0x44], 0xffffffff
lea esi, [ebx + 0x13158]
mov ecx, esi
call fcn.00415a6b
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
mov edi, dword [edi]
add eax, 4
push eax
mov eax, dword [ebp - 0x50]
push ebx
lea ecx, [ebp - 0x2894]
call fcn.00413030
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
cmp dword [eax + 0x804], 0
jle 0x413945
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
mov edi, dword [edi + 0x804]
add eax, 0x808
push eax
mov eax, dword [ebp - 0x50]
push ebx
lea ecx, [ebp - 0x2894]
call fcn.00413030
mov dword [ebp - 0x4c], eax
xor edi, edi
cmp dword [ebp - 0x38], edi
jge 0x4139b3
mov eax, dword [ebp - 0x4c]
cmp eax, edi
jl 0x413956
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jge 0x4139b3
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
cmp dword [eax + 0x1008], edi
jle 0x4139aa
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00415a6b
mov edi, dword [edi + 0x1008]
add eax, 0x100c
push eax
mov eax, dword [ebp - 0x50]
push ebx
lea ecx, [ebp - 0x2894]
call fcn.00413030
xor edi, edi
test eax, eax
mov dword [ebp - 0x44], eax
jl 0x4139aa
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jl 0x413a87
cmp dword [ebp - 0x4c], edi
jl 0x4139c4
mov dword [ebx + 0x10134], 1
jmp 0x4139ca
mov dword [ebx + 0x10134], edi
cmp dword [ebp - 0x44], edi
jl 0x4139db
mov dword [ebx + 0x10138], 1
jmp 0x4139e1
mov dword [ebx + 0x10138], edi
mov eax, dword [ebp - 0x38]
cdq
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
mov dword [ebx + 0x100a0], eax
mov eax, dword [ebp - 0x34]
or eax, dword [ebp - 0x30]
mov dword [ebx + 0x100a4], edx
je 0x413a10
add dword [ebx + 0x100a0], 0xfffff800
adc dword [ebx + 0x100a4], 0xffffffff
cmp dword [ebx + 0x10134], edi
push 0x1e
pop esi
je 0x413a1e
push 0x3c
pop esi
cmp dword [ebx + 0x10138], edi
je 0x413a28
xor esi, esi
mov eax, dword [ebx + 0x100a4]
mov ecx, dword [ebx + 0x100a0]
xor edx, edx
cmp eax, edx
jb 0x413a44
ja 0x413a40
cmp ecx, esi
jbe 0x413a44
sub ecx, esi
sbb eax, edx
xor edi, edi
push edi
push edi
push eax
push ecx
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.DLL_SetFilePointerEx]
push 0x8a
lea esi, [ebx + 0x100a8]
push edi
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x80
push esi
push dword [ebp - 8]
xor esi, esi
call fcn.00407989
add esp, 0xc
cmp dword [ebx + 0x211dc], 2
jne 0x413a9b
inc dword [ebp - 0x48]
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x13164]
jl 0x4138c2
jmp 0x413aa2
mov dword [ebp - 0x20], 1
xor edi, edi
cmp dword [ebx + 0x211dc], 2
jne 0x413abf
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebx + 0x13164]
jne 0x413abf
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], edi
jne 0x413b06
cmp dword [ebp - 0x40], edi
mov esi, 0x800
push esi
lea eax, [ebp - 0x1094]
je 0x413adb
lea eax, [ebp - 0x894]
push eax
lea eax, [ebp - 0x2894]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x3c]
add esp, 0xc
add dword [ebp - 0x34], eax
mov dword [ebp - 0x40], esi
adc dword [ebp - 0x30], edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
cmp dword [ebx + 8], edi
je 0x41387c
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebx + 0x211d4], 2
jne 0x413b1c
xor dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
jmp 0x413651