Function at 0x423290
Capabilities:
Get file version info

Disassembly:
sub esp, 0x848
mov eax, dword [0x50f130]
xor eax, esp
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0x84c]
push ebp
push edi
mov edi, ecx
xor ebp, ebp
cmp edi, ebp
mov dword [esp + 0x14], eax
je 0x42352b
cmp word [edi], bp
je 0x42352b
push ebx
push 0x208
lea ecx, [esp + 0x26]
push ebp
push ecx
mov word [esp + 0x2c], bp
call fcn.004be320
push 0x208
lea edx, [esp + 0x23e]
push ebp
push edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], ebp
mov word [esp + 0x244], bp
call fcn.004be320
push 0x208
lea eax, [esp + 0x456]
push ebp
push eax
mov word [esp + 0x45c], bp
call fcn.004be320
push 0x208
lea ecx, [esp + 0x66e]
push ebp
push ecx
mov word [esp + 0x674], bp
call fcn.004be320
add esp, 0x30
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov ebx, eax
cmp ebx, ebp
jne 0x423367
pop ebx
pop edi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x844]
xor ecx, esp
call fcn.004b84de
add esp, 0x848
ret
push esi
push ebx
call fcn.004b74d1
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x423510
push esi
push ebx
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x423507
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
push str.VarFileInfoTranslation
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x423507
push 0x20a
lea ecx, [esp + 0x28]
push ebp
push ecx
call fcn.004be320
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 2]
movzx eax, word [eax]
push edx
push eax
push str.StringFileInfo_04x_04xFileDescription
push 0xffffffffffffffff
lea ecx, [esp + 0x40]
push 0x104
push ecx
call fcn.004b8b16
add esp, 0x24
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
push ecx
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpynW]
je 0x423418
cmp dword [esp + 0x14], ebp
jbe 0x423418
mov edx, dword [esp + 0x10]
push 0x105
push edx
lea eax, [esp + 0x238]
push eax
call edi
push 0x20a
lea ecx, [esp + 0x28]
push ebp
push ecx
call fcn.004be320
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 2]
movzx eax, word [eax]
push edx
push eax
push str.StringFileInfo_04x_04xFileVersion
push 0xffffffffffffffff
lea ecx, [esp + 0x40]
push 0x104
push ecx
call fcn.004b8b16
add esp, 0x24
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
push ecx
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x423481
cmp dword [esp + 0x14], ebp
jbe 0x423481
mov edx, dword [esp + 0x10]
push 0x105
push edx
lea eax, [esp + 0x444]
push eax
call edi
push 0x20a
lea ecx, [esp + 0x28]
push ebp
push ecx
call fcn.004be320
mov eax, dword [esp + 0x24]
movzx edx, word [eax + 2]
movzx eax, word [eax]
push edx
push eax
push str.StringFileInfo_04x_04xProductName
push 0xffffffffffffffff
lea ecx, [esp + 0x40]
push 0x104
push ecx
call fcn.004b8b16
add esp, 0x24
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
push ecx
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4234ea
cmp dword [esp + 0x14], ebp
jbe 0x4234ea
mov edx, dword [esp + 0x10]
push 0x105
push edx
lea eax, [esp + 0x650]
push eax
call edi
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x423502
push 0x104
lea ecx, [esp + 0x234]
push ecx
push eax
call edi
mov ebp, 1
push esi
call fcn.004b88f2
add esp, 4
pop esi
pop ebx
pop edi
mov eax, ebp
pop ebp
mov ecx, dword [esp + 0x844]
xor ecx, esp
call fcn.004b84de
add esp, 0x848
ret
mov ecx, dword [esp + 0x84c]
pop edi
pop ebp
xor ecx, esp
xor eax, eax
call fcn.004b84de
add esp, 0x848
ret