Function at 0x464690
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x33
push 0
push 0
dec ecx
jne 0x464698
push ecx
push ebx
push esi
mov ebx, eax
lea eax, [ebp - 0x158]
mov edx, dword [0x407ce0]
call fcn.00405190
xor eax, eax
push ebp
push 0x4649cb
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x158]
mov edx, 0x3f
mov eax, dword [ebx + 0x18]
call fcn.00409160
test eax, eax
jne 0x464706
mov eax, dword [ebp - 0x154]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x158]
mov dword [ebx + 8], eax
lea eax, [ebp - 0x158]
call fcn.004091b0
test eax, eax
je 0x4646da
lea eax, [ebp - 0x158]
call fcn.004091d4
lea eax, [ebx + 0xc]
push eax
mov eax, dword [ebx + 0x18]
call fcn.00404ad0
push eax
call sub.version.dll_GetFileVersionInfoSizeA
mov esi, eax
mov dword [ebx + 0x10], esi
test esi, esi
je 0x46499c
mov eax, esi
call fcn.00402784
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x14]
add eax, 0x28
mov dword [ebx + 0x48], eax
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [ebx + 0x10]
push eax
push 0
mov eax, dword [ebx + 0x18]
call fcn.00404ad0
push eax
call sub.version.dll_GetFileVersionInfoA
test eax, eax
je 0x46499c
lea ecx, [ebp - 0x15c]
mov edx, 0x4649e0
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x15c]
lea eax, [ebx + 0x1c]
call fcn.00404658
lea ecx, [ebp - 0x160]
mov edx, 0x4649f4
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x160]
lea eax, [ebx + 0x20]
call fcn.00404658
lea ecx, [ebp - 0x164]
mov edx, 0x464a0c
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x164]
lea eax, [ebx + 0x24]
call fcn.00404658
lea ecx, [ebp - 0x168]
mov edx, 0x464a20
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x168]
lea eax, [ebx + 0x34]
call fcn.00404658
lea ecx, [ebp - 0x16c]
mov edx, 0x464a38
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x16c]
lea eax, [ebx + 0x38]
call fcn.00404658
lea ecx, [ebp - 0x170]
mov edx, 0x464a4c
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x170]
lea eax, [ebx + 0x28]
call fcn.00404658
lea ecx, [ebp - 0x174]
mov edx, 0x464a64
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x174]
lea eax, [ebx + 0x44]
call fcn.00404658
lea ecx, [ebp - 0x178]
mov edx, 0x464a7c
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x178]
lea eax, [ebx + 0x2c]
call fcn.00404658
lea ecx, [ebp - 0x17c]
mov edx, 0x464a98
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x17c]
lea eax, [ebx + 0x3c]
call fcn.00404658
lea ecx, [ebp - 0x180]
mov edx, 0x464aac
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x180]
lea eax, [ebx + 0x40]
call fcn.00404658
lea ecx, [ebp - 0x184]
mov edx, 0x464ac4
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x184]
lea eax, [ebx + 0x30]
call fcn.00404658
cmp dword [ebx + 0x1c], 0
jne 0x4648de
lea ecx, [ebp - 0x188]
mov edx, 0x464ad8
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x188]
lea eax, [ebx + 0x1c]
call fcn.00404658
cmp dword [ebx + 0x24], 0
jne 0x464904
lea ecx, [ebp - 0x18c]
mov edx, 0x464ae8
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x18c]
lea eax, [ebx + 0x24]
call fcn.00404658
cmp dword [ebx + 0x34], 0
jne 0x46492a
lea ecx, [ebp - 0x190]
mov edx, 0x464b00
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x190]
lea eax, [ebx + 0x34]
call fcn.00404658
cmp dword [ebx + 0x2c], 0
jne 0x464950
lea ecx, [ebp - 0x194]
mov edx, 0x464b18
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x194]
lea eax, [ebx + 0x2c]
call fcn.00404658
cmp dword [ebx + 0x3c], 0
jne 0x464976
lea ecx, [ebp - 0x198]
mov edx, 0x464b34
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x198]
lea eax, [ebx + 0x3c]
call fcn.00404658
cmp dword [ebx + 0x40], 0
jne 0x46499c
lea ecx, [ebp - 0x19c]
mov edx, 0x464b4c
mov eax, ebx
call fcn.004643dc
mov edx, dword [ebp - 0x19c]
lea eax, [ebx + 0x40]
call fcn.00404658
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4649d2
lea eax, [ebp - 0x19c]
mov edx, 0x11
call fcn.00404628
lea eax, [ebp - 0x158]
mov edx, dword [0x407ce0]
call fcn.00405260
ret