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

Disassembly:
push 0xbb4
push 0x106456c0
call fcn.10458d80
mov esi, edx
mov ebx, ecx
mov byte [ebp - 0xba9], 0
push 0x208
push 0
lea eax, [ebp - 0x360]
push eax
call fcn.1043c810
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 0x1009a40d
mov eax, 0x5a4d
cmp ax, word [esi]
je 0x1009a185
mov dword [ebp - 4], 0xfffffffe
xor al, al
jmp 0x1009a41a
mov edi, dword [esi + 0x3c]
add edi, esi
cmp dword [edi], 0x4550
jne 0x1009a177
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 0x1009a204
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 0x1009a1fd
push dword [ebp - 0xbc0]
push dword [ebp - 0xbc4]
lea ecx, [ebp - 0x158]
call fcn.1009a0a6
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.1009a04c
lea eax, [ebp - 0x360]
push eax
push str._s_r_n
push ebx
call fcn.1009a04c
push dword [edi + 0x50]
push dword [edi + 0x34]
push str.Image_Base:_0x_08x__Image_Size:_0x_08x_r_n
push ebx
call fcn.1009a04c
push dword [edi + 8]
push dword [edi + 0x58]
push str.Checksum:___0x_08x__Time_Stamp:_0x_08x_r_n
push ebx
call fcn.1009a04c
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x20]
push str.File_Size:____10d__File_Time:___s_r_n
push ebx
call fcn.1009a04c
add esp, 0x48
push str.Version_Information:_r_n
push ebx
call fcn.1009a04c
pop ecx
pop ecx
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0xba8]
call fcn.10099dd1
push 0xc7
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.1043c810
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.1009a04c
push 0xc7
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.1043c810
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.1009a04c
push 0xc7
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.1043c810
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.1009a04c
add esp, 0xc
lea edx, [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0xbbc], ecx
mov dword [ebp - 0xbb8], edx
cmp ecx, 4
jge 0x1009a35d
mov ax, word [ebp + ecx*2 - 0xba0]
mov word [edx], ax
add edx, 2
inc ecx
jmp 0x1009a33b
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.1009a04c
add esp, 0x18
lea edx, [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0xbb0], ecx
mov dword [ebp - 0xbb4], edx
cmp ecx, 4
jge 0x1009a3b4
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 0x1009a38a
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.1009a04c
add esp, 0x18
cmp dword [ebp - 0xba8], 0
je 0x1009a3e9
push dword [ebp - 0xba8]
call fcn.1043791f
pop ecx
and dword [ebp - 0xba8], 0
push 0x1054d25c
push ebx
call fcn.1009a04c
pop ecx
pop ecx
mov byte [ebp - 0xba9], 1
jmp 0x1009a40d
mov dword [ebp - 4], 0xfffffffe
mov al, byte [ebp - 0xba9]
call fcn.10458dc8
ret