Function at 0x4590d3
Capabilities:
Get file version info

Disassembly:
push 0x79c
mov eax, 0x4b61ba
call fcn.00461a91
mov esi, edx
mov edi, ecx
mov dword [ebp - 0x79c], edi
push 0x208
lea eax, [ebp - 0x720]
push eax
push dword [esi + 4]
push dword [esi]
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
test eax, eax
je 0x459552
push 0xfde9
push 0xffffffffffffffff
lea edx, [ebp - 0x720]
lea ecx, [ebp - 0x744]
call fcn.00418c95
pop ecx
pop ecx
xor eax, eax
mov ebx, 0x4d29e0
mov dword [ebp - 4], eax
lea eax, [ebp - 0x744]
push ebx
push eax
push 0x4d450c
push edi
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.0041374a
pop ecx
pop ecx
push eax
call fcn.00414bb4
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x744]
call fcn.00404f45
push 0xc
lea eax, [ebp - 0x7a8]
push eax
push dword [esi + 4]
push dword [esi]
call dword [sym.imp.PSAPI.DLL_GetModuleInformation]
test eax, eax
je 0x4591e8
mov eax, dword [ebp - 0x7a4]
push 8
pop ecx
push ebx
push str.___________Image_Size:_______0x
push ebx
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x7a8]
push str.___________Image_Base:_______0x
push edi
mov dword [ebp - 0x780], ecx
mov dword [ebp - 0x78c], eax
mov dword [ebp - 0x788], ecx
call fcn.00414bb4
pop ecx
pop ecx
lea edx, [ebp - 0x78c]
mov ecx, eax
call fcn.004596ea
push eax
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.00414bb4
pop ecx
pop ecx
lea edx, [ebp - 0x784]
mov ecx, eax
call fcn.004596ea
push eax
call fcn.00414bb4
pop ecx
pop ecx
lea eax, [ebp - 0x790]
push eax
lea eax, [ebp - 0x720]
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov esi, eax
test esi, esi
je 0x459552
lea eax, [esi + 1]
push eax
call fcn.0046142c
pop ecx
mov ebx, eax
lea eax, [ebp - 0x720]
push ebx
push esi
push dword [ebp - 0x790]
mov dword [ebp - 0x780], ebx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
lea eax, [ebp - 0x77c]
xor ecx, ecx
push eax
lea eax, [ebp - 0x778]
mov dword [ebp - 0x778], ecx
push eax
push 0x4cf78c
push ebx
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x45932f
mov ecx, dword [ebp - 0x778]
mov ebx, 0x4d29e0
push ebx
movzx eax, word [ecx + 0x14]
push eax
movzx eax, word [ecx + 0x16]
push 0x2e
pop edx
push edx
push eax
movzx eax, word [ecx + 0x10]
push edx
push eax
movzx eax, word [ecx + 0x12]
push edx
push eax
movzx eax, word [ecx + 0xc]
push str.___________Product_Version:
push ebx
push eax
movzx eax, word [ecx + 0xe]
push edx
push eax
movzx eax, word [ecx + 8]
push edx
push eax
movzx eax, word [ecx + 0xa]
push edx
push eax
push str.___________File_Version:
push edi
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414a8b
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414a8b
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414a8b
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414a8b
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414a8b
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414a8b
pop ecx
pop ecx
push eax
call fcn.00414bf9
pop ecx
pop ecx
push eax
call fcn.00414bb4
pop ecx
pop ecx
mov esi, dword [ebp - 0x780]
xor eax, eax
mov dword [ebp - 0x72c], 0x4d45dc
mov ebx, eax
mov dword [ebp - 0x728], 0x4d45bc
mov dword [ebp - 0x724], 0x4d4608
mov dword [ebp - 0x738], str.Company:
mov dword [ebp - 0x734], str.File_Description:
mov dword [ebp - 0x730], str.Product_Name:
lea eax, [ebp - 0x77c]
push eax
lea eax, [ebp - 0x794]
push eax
push str.VarFileInfoTranslation
push esi
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x459546
mov ecx, dword [ebp - 0x794]
push dword [ebp + ebx - 0x72c]
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x110]
push str.StringFileInfo_04x_04x_s
push eax
call fcn.0040a3c9
add esp, 0x14
lea eax, [ebp - 0x77c]
push eax
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x110]
push eax
push esi
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x459546
mov edi, dword [ebp - 0x798]
lea ecx, [ebp - 0x75c]
call fcn.00414daa
mov dword [ebp - 4], 1
test edi, edi
je 0x4594d5
xor eax, eax
cmp word [edi], ax
je 0x4594d5
push 0x200
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.00464590
add esp, 0xc
lea eax, [ebp - 0x310]
xor ecx, ecx
push ecx
push ecx
push 0x1ff
push eax
push 0xffffffffffffffff
push edi
push ecx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x459470
cmp eax, 0x200
jae 0x45955a
xor ecx, ecx
mov byte [ebp + eax - 0x310], cl
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x75c]
call fcn.0040ae37
jmp 0x4594d5
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
push edi
push eax
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea esi, [eax + 1]
lea eax, [esi + 1]
push eax
call fcn.0046142c
pop ecx
mov dword [ebp - 0x788], eax
xor eax, eax
push eax
push eax
push esi
mov esi, dword [ebp - 0x788]
push esi
push 0xffffffffffffffff
push edi
push eax
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
mov byte [eax + esi], cl
test eax, eax
jle 0x4594c8
push esi
lea ecx, [ebp - 0x75c]
call fcn.0040ae37
push esi
call fcn.00461435
mov esi, dword [ebp - 0x780]
pop ecx
lea eax, [ebp - 0x75c]
push eax
lea ecx, [ebp - 0x774]
call fcn.0040a793
lea ecx, [ebp - 0x75c]
call fcn.00404f45
mov edi, dword [ebp - 0x79c]
lea eax, [ebp - 0x774]
push 0x4d29e0
push eax
mov dword [ebp - 4], 2
push dword [ebp + ebx - 0x738]
push 0x4d46b8
push edi
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.00414bb4
pop ecx
pop ecx
push eax
call fcn.0041374a
pop ecx
pop ecx
push eax
call fcn.00414bb4
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x774]
call fcn.00404f45
add ebx, 4
cmp ebx, 0xc
jb 0x459375
mov eax, edi
call fcn.00461a3b
ret
call fcn.0046155b
int3