Function at 0x4a1dc2
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x57c
mov eax, dword [0x4f06b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 0x208
lea eax, [ebp - 0x514]
mov esi, edx
push eax
push dword [esi + 4]
mov ebx, ecx
push dword [esi]
mov dword [ebp - 0x538], ebx
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
test eax, eax
je 0x4a212e
push edi
mov eax, 0xfde9
push eax
lea eax, [ebp - 0x514]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x530]
call fcn.00412e4d
mov edi, eax
push ebx
mov eax, 0x4e3304
call fcn.00412af6
push eax
mov eax, edi
call fcn.00412a1f
push eax
mov ebx, 0x4de2b8
mov eax, ebx
call fcn.00412af6
add esp, 0x18
push 0
push 1
lea ecx, [ebp - 0x530]
call fcn.0040a0a5
push 0xc
lea eax, [ebp - 0x57c]
push eax
push dword [esi + 4]
push dword [esi]
call dword [sym.imp.PSAPI.DLL_GetModuleInformation]
test eax, eax
je 0x4a1ed6
mov eax, dword [ebp - 0x578]
mov ecx, dword [ebp - 0x57c]
mov dword [ebp - 0x548], eax
push 8
pop eax
push dword [ebp - 0x538]
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x54c], eax
mov eax, str.___________Image_Base:_______0x
mov dword [ebp - 0x550], ecx
call fcn.00412af6
lea esi, [ebp - 0x550]
mov edi, eax
call fcn.004a22ce
push eax
mov eax, ebx
call fcn.00412af6
push eax
mov eax, str.___________Image_Size:_______0x
call fcn.00412af6
lea esi, [ebp - 0x548]
mov edi, eax
call fcn.004a22ce
push eax
mov eax, ebx
call fcn.00412af6
add esp, 0x10
lea eax, [ebp - 0x554]
push eax
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov esi, eax
test esi, esi
je 0x4a212d
lea eax, [esi + 1]
push eax
call fcn.004a481a
pop ecx
push eax
push esi
push dword [ebp - 0x554]
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
mov edi, dword [sym.imp.VERSION.dll_VerQueryValueW]
and dword [ebp - 0x540], 0
lea eax, [ebp - 0x53c]
push eax
lea eax, [ebp - 0x540]
push eax
push 0x4cb648
push dword [ebp - 0x534]
call edi
test eax, eax
je 0x4a2013
mov eax, dword [ebp - 0x540]
movzx ecx, word [eax + 0x14]
movzx edx, word [eax + 0x16]
push ecx
push 0x2e
pop ecx
push ecx
push edx
movzx edx, word [eax + 0x10]
push ecx
push edx
movzx edx, word [eax + 0x12]
push ecx
push edx
movzx edx, word [eax + 0xc]
push edx
movzx edx, word [eax + 0xe]
push ecx
push edx
movzx edx, word [eax + 8]
movzx eax, word [eax + 0xa]
push ecx
push edx
push ecx
push eax
push dword [ebp - 0x538]
mov eax, str.___________File_Version:
call fcn.00412af6
pop ecx
mov esi, eax
call fcn.00412a44
pop ecx
call fcn.00412ee6
pop ecx
mov esi, eax
call fcn.00412a44
pop ecx
call fcn.00412ee6
pop ecx
mov esi, eax
call fcn.00412a44
pop ecx
call fcn.00412ee6
pop ecx
mov esi, eax
call fcn.00412a44
push eax
mov eax, ebx
call fcn.00412af6
push eax
mov eax, str.___________Product_Version:
call fcn.00412af6
add esp, 0xc
mov esi, eax
call fcn.00412a44
pop ecx
call fcn.00412ee6
pop ecx
mov esi, eax
call fcn.00412a44
pop ecx
call fcn.00412ee6
pop ecx
mov esi, eax
call fcn.00412a44
pop ecx
call fcn.00412ee6
pop ecx
mov esi, eax
call fcn.00412a44
push eax
mov eax, ebx
call fcn.00412af6
pop ecx
pop ecx
mov dword [ebp - 0x564], 0x4e338c
mov dword [ebp - 0x560], 0x4e33a4
mov dword [ebp - 0x55c], 0x4e33c4
mov dword [ebp - 0x570], str.Company:
mov dword [ebp - 0x56c], str.File_Description:
mov dword [ebp - 0x568], str.Product_Name:
xor esi, esi
lea eax, [ebp - 0x53c]
push eax
lea eax, [ebp - 0x558]
push eax
push str.VarFileInfoTranslation
push dword [ebp - 0x534]
call edi
test eax, eax
je 0x4a2121
mov eax, dword [ebp - 0x558]
movzx ecx, word [eax + 2]
push dword [ebp + esi - 0x564]
movzx eax, word [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push str.StringFileInfo_04x_04x_s
push eax
call fcn.00409a9b
add esp, 0x14
lea eax, [ebp - 0x53c]
push eax
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x534]
call edi
test eax, eax
je 0x4a2121
mov eax, 0xfde9
push eax
push 0xffffffffffffffff
push dword [ebp - 0x544]
lea ecx, [ebp - 0x530]
call fcn.00412e4d
push dword [ebp - 0x538]
mov dword [ebp - 0x54c], eax
mov eax, 0x4e3484
call fcn.00412af6
push eax
mov eax, dword [ebp + esi - 0x570]
call fcn.00412af6
push eax
mov eax, dword [ebp - 0x54c]
call fcn.00412a1f
push eax
mov eax, ebx
call fcn.00412af6
add esp, 0x1c
push 0
push 1
lea ecx, [ebp - 0x530]
call fcn.0040a0a5
add esi, 4
cmp esi, 0xc
jb 0x4a2051
pop edi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x538]
pop esi
xor ecx, ebp
pop ebx
call fcn.004a545d
leave
ret