Function at 0x41b3e0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45e4f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
test edi, edi
mov dword [ebp - 0x10], esp
jne 0x41b41b
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x34]
push eax
push edi
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
test esi, esi
jg 0x41b43e
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.0044f2f1
add esp, 4
mov ebx, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], 0
push ebx
push esi
push 0
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
jne 0x41b472
lea ecx, [ebp - 0x28]
push 0x471140
push ecx
mov dword [ebp - 0x28], eax
call fcn.0042cdf3
lea edx, [ebp - 0x1c]
lea eax, [ebp + 8]
push edx
push eax
push str.VarFileInfoTranslation
push ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x41b49a
lea ecx, [ebp - 0x2c]
push 0x471140
push ecx
mov dword [ebp - 0x2c], eax
call fcn.0042cdf3
mov edx, dword [ebp + 8]
mov eax, dword [0x4790e8]
mov ebx, dword [edx]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], ebx
mov esi, dword [ebp - 0x3e]
mov edi, ebx
and esi, 0xffff
and edi, 0xffff
push esi
push edi
lea ecx, [ebp - 0x14]
push str.StringFileInfo_04x_04xCompanyName
push ecx
mov byte [ebp - 4], 1
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov ecx, dword [ebp - 0x14]
add esp, 0x10
lea edx, [ebp - 0x1c]
lea eax, [ebp + 8]
push edx
mov edx, dword [ebp - 0x18]
push eax
push ecx
push edx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b4fe
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0044ef8a
push esi
push edi
lea ecx, [ebp - 0x14]
push str.StringFileInfo_04x_04xLegalCopyRight
push ecx
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov ecx, dword [ebp - 0x14]
add esp, 0x10
lea edx, [ebp - 0x1c]
lea eax, [ebp + 8]
push edx
mov edx, dword [ebp - 0x18]
push eax
push ecx
push edx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b540
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push eax
add ecx, 4
call fcn.0044ef8a
push esi
push edi
lea edx, [ebp - 0x14]
push str.StringFileInfo_04x_04xProductName
push edx
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov edx, dword [ebp - 0x14]
add esp, 0x10
lea eax, [ebp - 0x1c]
lea ecx, [ebp + 8]
push eax
mov eax, dword [ebp - 0x18]
push ecx
push edx
push eax
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b582
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push ecx
lea ecx, [edx + 0x14]
call fcn.0044ef8a
push esi
push edi
lea eax, [ebp - 0x14]
push str.StringFileInfo_04x_04xProductVersion
push eax
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov eax, dword [ebp - 0x14]
add esp, 0x10
lea ecx, [ebp - 0x1c]
lea edx, [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x18]
push edx
push eax
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b5c4
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push edx
lea ecx, [eax + 0x18]
call fcn.0044ef8a
push esi
push edi
lea ecx, [ebp - 0x14]
push str.StringFileInfo_04x_04xFileDescription
push ecx
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov ecx, dword [ebp - 0x14]
add esp, 0x10
lea edx, [ebp - 0x1c]
lea eax, [ebp + 8]
push edx
mov edx, dword [ebp - 0x18]
push eax
push ecx
push edx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b606
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push eax
add ecx, 8
call fcn.0044ef8a
push esi
push edi
lea edx, [ebp - 0x14]
push str.StringFileInfo_04x_04xFileVersion
push edx
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov edx, dword [ebp - 0x14]
add esp, 0x10
lea eax, [ebp - 0x1c]
lea ecx, [ebp + 8]
push eax
mov eax, dword [ebp - 0x18]
push ecx
push edx
push eax
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b648
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push ecx
lea ecx, [edx + 0xc]
call fcn.0044ef8a
push esi
push edi
lea eax, [ebp - 0x14]
push str.StringFileInfo_04x_04xInternalName
push eax
mov dword [ebp + 8], 0
call fcn.0044c0b3
mov eax, dword [ebp - 0x14]
add esp, 0x10
lea ecx, [ebp - 0x1c]
lea edx, [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x18]
push edx
push eax
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b68c
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push edx
lea ecx, [esi + 0x10]
call fcn.0044ef8a
jmp 0x41b68f
mov esi, dword [ebp + 0xc]
mov eax, dword [0x4790e8]
mov dword [ebp - 0x24], eax
mov eax, ebx
mov byte [ebp - 4], 2
and eax, 0x3ff
cmp ax, 4
jne 0x41b6c0
shr bx, 0xa
cmp bx, 2
jne 0x41b6b9
push 0x478ac8
jmp 0x41b6cb
push str.Hexin
jmp 0x41b6cb
cmp ax, 9
jne 0x41b6d3
push str.Hexin_Software
lea ecx, [ebp - 0x24]
call fcn.0044ef8a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x41b7cc
push eax
mov ecx, esi
call fcn.0044bd2d
test eax, eax
jl 0x41b7cc
lea ecx, [ebp - 0x20]
push 3
push ecx
lea ecx, [esi + 0x10]
call fcn.0044bc93
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 3
lea ebx, [esi + 0x1c]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x41b720
push 0x478aac
push ebx
call fcn.0044c0b3
add esp, 8
jmp 0x41b72f
push eax
push str.__3s
push ebx
call fcn.0044c0b3
add esp, 0xc
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x1c]
lea eax, [ebp + 8]
push edx
push eax
push 0x4786b8
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x41b758
push 0x478aa0
lea ecx, [ebp - 0x20]
call fcn.0044ef8a
jmp 0x41b796
mov esi, dword [ebp + 8]
mov ecx, 0xd
lea edi, [ebp - 0x74]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x60]
mov edx, eax
and edx, 0xffff
shr eax, 0x10
push edx
push eax
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x20]
mov ecx, eax
and ecx, 0xffff
shr eax, 0x10
push ecx
push eax
push str._d._02d._02d._04d
push edx
call fcn.0044c0b3
add esp, 0x18
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.0044f1a5
lea ecx, [ebp - 0x20]
mov esi, 1
mov byte [ebp - 4], 2
call fcn.0044ee01
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.0044ee01
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.0044ee01
jmp 0x41b7fd
lea ecx, [ebp - 0x30]
push 0x471140
push ecx
mov dword [ebp - 0x30], 0
call fcn.0042cdf3
mov edx, dword [ebp - 0x38]
mov eax, 0x41b7fa
mov dword [ebp + 0xc], edx
ret
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x41b814
push eax
call fcn.0044f31a
add esp, 4
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret