Function at 0x4dff16
Capabilities:
Get file size
Parse pe header

Disassembly:
push 0xbb4
push 0x68aa80
call fcn.00594220
mov esi, edx
mov ebx, ecx
mov byte [ebp - 0xba9], 0
push 0x208
push 0
lea eax, [ebp - 0x360]
push eax
call fcn.00572db0
add esp, 0xc
and dword [ebp - 4], 0
push 0x206
lea eax, [ebp - 0x360]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4e0205
mov eax, 0x5a4d
cmp ax, word [esi]
je 0x4dff7d
mov dword [ebp - 4], 0xfffffffe
xor al, al
jmp 0x4e0212
mov edi, dword [esi + 0x3c]
add edi, esi
cmp dword [edi], 0x4550
jne 0x4dff6f
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
lea eax, [ebp - 0x360]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
xor eax, eax
mov byte [ebp - 0x158], al
mov dword [ebp - 0x20], eax
cmp esi, 0xffffffff
je 0x4dfffc
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0xbc4]
push eax
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x4dfff5
push dword [ebp - 0xbc0]
push dword [ebp - 0xbc4]
lea ecx, [ebp - 0x158]
call fcn.004dfe9e
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp + 8]
push str.Module__d_r_n
push ebx
call fcn.004dfe44
lea eax, [ebp - 0x360]
push eax
push str._s_r_n
push ebx
call fcn.004dfe44
push dword [edi + 0x50]
push dword [edi + 0x34]
push str.Image_Base:_0x_08x__Image_Size:_0x_08x_r_n
push ebx
call fcn.004dfe44
push dword [edi + 8]
push dword [edi + 0x58]
push str.Checksum:___0x_08x__Time_Stamp:_0x_08x_r_n
push ebx
call fcn.004dfe44
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x20]
push str.File_Size:____10d__File_Time:___s_r_n
push ebx
call fcn.004dfe44
add esp, 0x48
push str.Version_Information:_r_n
push ebx
call fcn.004dfe44
pop ecx
pop ecx
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0xba8]
call fcn.004dfbc9
push 0xc7
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.00572db0
add esp, 0xc
mov edi, 0xc6
push edi
lea eax, [ebp - 0x978]
push eax
lea eax, [ebp - 0xf0]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpynA]
call esi
lea eax, [ebp - 0xf0]
push eax
push str.___Company:_____s_r_n
push ebx
call fcn.004dfe44
push 0xc7
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.00572db0
add esp, 0x18
push edi
lea eax, [ebp - 0x770]
push eax
lea eax, [ebp - 0xf0]
push eax
call esi
lea eax, [ebp - 0xf0]
push eax
push str.___Product:_____s_r_n
push ebx
call fcn.004dfe44
push 0xc7
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.00572db0
add esp, 0x18
push edi
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0xf0]
push eax
call esi
lea eax, [ebp - 0xf0]
push eax
push str.___FileDesc:____s_r_n
push ebx
call fcn.004dfe44
add esp, 0xc
lea edx, [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0xbbc], ecx
mov dword [ebp - 0xbb8], edx
cmp ecx, 4
jge 0x4e0155
mov ax, word [ebp + ecx*2 - 0xba0]
mov word [edx], ax
add edx, 2
inc ecx
jmp 0x4e0133
mov si, word [ebp - 0x1e]
movzx eax, si
push eax
mov di, word [ebp - 0x20]
movzx eax, di
push eax
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
push str.___FileVer:_____d._d._d._d_r_n
push ebx
call fcn.004dfe44
add esp, 0x18
lea edx, [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0xbb0], ecx
mov dword [ebp - 0xbb4], edx
cmp ecx, 4
jge 0x4e01ac
mov ax, word [ebp + ecx*2 - 0xb98]
mov word [edx], ax
add edx, 2
inc ecx
mov si, word [ebp - 0x1e]
mov di, word [ebp - 0x20]
jmp 0x4e0182
movzx eax, si
push eax
movzx eax, di
push eax
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
push str.___ProdVer:_____d._d._d._d_r_n
push ebx
call fcn.004dfe44
add esp, 0x18
cmp dword [ebp - 0xba8], 0
je 0x4e01e1
push dword [ebp - 0xba8]
call fcn.00571d79
pop ecx
and dword [ebp - 0xba8], 0
push 0x64fd70
push ebx
call fcn.004dfe44
pop ecx
pop ecx
mov byte [ebp - 0xba9], 1
jmp 0x4e0205
mov dword [ebp - 4], 0xfffffffe
mov al, byte [ebp - 0xba9]
call fcn.00594268
ret