Function at 0x41caee
Capabilities:
Get file version info

Disassembly:
push 0x274
mov eax, 0x44a8e3
call fcn.004386f7
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], ebx
mov edi, 0x4676b0
push edi
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 2
call fcn.0040620b
or eax, 0xffffffff
push edi
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
mov esi, ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x250], eax
call fcn.0040620b
push edi
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 4
call fcn.0040620b
push edi
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 5
call fcn.0040620b
push edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 6
call fcn.0040620b
push edi
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 7
call fcn.0040620b
push edi
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 8
call fcn.0040620b
push edi
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 9
call fcn.0040620b
push 0xa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.00409996
lea ecx, [ebp - 0x274]
push ecx
push eax
mov dword [ebp - 0x24c], eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test edi, edi
je 0x41d0ae
push 0x1698
push str.DevConFunc.cpp
push edi
call fcn.0042ae50
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x270], esi
test esi, esi
je 0x41d0ae
push esi
push edi
push ebx
push dword [ebp - 0x24c]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x41ce24
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x218]
push eax
push 0x44d8a8
push esi
mov dword [ebp - 0x218], ebx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x41ccb1
mov ecx, dword [ebp - 0x218]
mov edi, str._d._d._d._d
movzx eax, word [ecx + 0xc]
push eax
movzx eax, word [ecx + 0xe]
push eax
movzx eax, word [ecx + 8]
push eax
movzx eax, word [ecx + 0xa]
push eax
lea eax, [ebp - 0x234]
push edi
push eax
call fcn.00406ea6
mov ecx, dword [ebp - 0x218]
movzx eax, word [ecx + 0x14]
push eax
movzx eax, word [ecx + 0x16]
push eax
movzx eax, word [ecx + 0x10]
push eax
movzx eax, word [ecx + 0x12]
push eax
lea eax, [ebp - 0x240]
push edi
push eax
call fcn.00406ea6
add esp, 0x30
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x220]
push eax
push str.VarFileInfoTranslation
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x41ce24
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x214], ebx
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x210]
push str.StringFileInfo_04x_04xLegalCopyright
push eax
call fcn.004133cf
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x41cd2b
push dword [ebp - 0x214]
lea ecx, [ebp - 0x23c]
call fcn.00409f9c
mov ecx, dword [ebp - 0x220]
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x210]
push str.StringFileInfo_04x_04xProductName
push eax
call fcn.004133cf
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x41cd7e
push dword [ebp - 0x214]
lea ecx, [ebp - 0x230]
call fcn.00409f9c
mov ecx, dword [ebp - 0x220]
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x210]
push str.StringFileInfo_04x_04xCompanyName
push eax
call fcn.004133cf
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x41cdd1
push dword [ebp - 0x214]
lea ecx, [ebp - 0x244]
call fcn.00409f9c
mov ecx, dword [ebp - 0x220]
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x210]
push str.StringFileInfo_04x_04xProductVersion
push eax
call fcn.004133cf
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x41ce24
push dword [ebp - 0x214]
lea ecx, [ebp - 0x238]
call fcn.00409f9c
push 0x3b
lea eax, [ebp - 0x26c]
push eax
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov esi, dword [ebp - 0x26c]
add esp, 0xc
cmp esi, dword [ebp - 0x268]
je 0x41d084
push 0x18
pop edi
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x224], ebx
cmp dword [esi + 0x14], 8
push 0x3d
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0xb
push eax
jb 0x41ce88
mov eax, dword [esi]
jmp 0x41ce8a
mov eax, esi
push ecx
mov ecx, esp
push eax
call fcn.00406234
call fcn.0041954e
mov eax, dword [ebp - 0x228]
sub eax, dword [ebp - 0x22c]
add esp, 0xc
cdq
idiv edi
lea ecx, [ebp - 0x22c]
cmp eax, 2
je 0x41cec3
mov byte [ebp - 4], 0xa
call fcn.004052ea
jmp 0x41d076
push ebx
call fcn.004211c1
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x218], eax
jb 0x41cedd
mov eax, dword [eax]
mov dword [ebp - 0x218], eax
push ebx
lea ecx, [ebp - 0x22c]
call fcn.004211c1
cmp dword [eax + 0x14], 8
jb 0x41cef3
mov ecx, dword [eax]
jmp 0x41cef5
mov ecx, eax
mov eax, dword [eax + 0x10]
push ebx
lea edi, [ecx + eax*2]
lea ecx, [ebp - 0x22c]
call fcn.004211c1
cmp dword [eax + 0x14], 8
jb 0x41cf0f
mov eax, dword [eax]
push 0x4391c3
push dword [ebp - 0x218]
push edi
push eax
lea eax, [ebp - 0x280]
push eax
call fcn.00403375
add esp, 0x14
lea ecx, [ebp - 0x22c]
push 0x453df8
push ebx
call fcn.004211c1
mov ecx, eax
call fcn.0040b7cd
test eax, eax
jne 0x41cf58
lea eax, [ebp - 0x234]
lea edi, [ebp - 0x258]
jmp 0x41d02b
push 0x453e00
push ebx
lea ecx, [ebp - 0x22c]
call fcn.004211c1
mov ecx, eax
call fcn.0040b7cd
test eax, eax
jne 0x41cf85
lea eax, [ebp - 0x240]
lea edi, [ebp - 0x260]
jmp 0x41d02b
push 0x453e08
push ebx
lea ecx, [ebp - 0x22c]
call fcn.004211c1
mov ecx, eax
call fcn.0040b7cd
test eax, eax
jne 0x41cfaf
lea eax, [ebp - 0x238]
lea edi, [ebp - 0x254]
jmp 0x41d02b
push 0x453e10
push ebx
lea ecx, [ebp - 0x22c]
call fcn.004211c1
mov ecx, eax
call fcn.0040b7cd
test eax, eax
jne 0x41cfd9
lea eax, [ebp - 0x244]
lea edi, [ebp - 0x248]
jmp 0x41d02b
push 0x453e18
push ebx
lea ecx, [ebp - 0x22c]
call fcn.004211c1
mov ecx, eax
call fcn.0040b7cd
test eax, eax
jne 0x41d003
lea eax, [ebp - 0x230]
lea edi, [ebp - 0x25c]
jmp 0x41d02b
push 0x453e20
push ebx
lea ecx, [ebp - 0x22c]
call fcn.004211c1
mov ecx, eax
call fcn.0040b7cd
test eax, eax
jne 0x41d064
lea eax, [ebp - 0x23c]
lea edi, [ebp - 0x250]
push 1
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x214], eax
call fcn.004211c1
cmp dword [eax + 0x14], 8
jb 0x41d046
mov eax, dword [eax]
mov ecx, dword [ebp - 0x214]
push eax
call fcn.00406999
test eax, eax
jne 0x41d05e
mov dword [edi], 1
jmp 0x41d064
cmp dword [edi], ebx
jge 0x41d064
mov dword [edi], ebx
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0xa
call fcn.004052ea
push 0x18
pop edi
add esi, edi
cmp esi, dword [ebp - 0x268]
jne 0x41ce5f
mov ebx, dword [ebp - 0x250]
and ebx, dword [ebp - 0x25c]
mov esi, dword [ebp - 0x270]
and ebx, dword [ebp - 0x248]
and ebx, dword [ebp - 0x254]
and ebx, dword [ebp - 0x260]
and ebx, dword [ebp - 0x258]
cmp dword [ebp - 0x24c], 0
je 0x41d0c1
push 0xffffffffffffffff
lea ecx, [ebp + 8]
call fcn.0041dfec
test esi, esi
je 0x41d0cc
push esi
call fcn.0042afb6
pop ecx
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x244]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x278]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x240]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x234]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.00409a06
lea ecx, [ebp - 0x26c]
call fcn.004052ea
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00409a06
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.00409a06
mov eax, ebx
call fcn.004386a6
ret 8