Function at 0x40d57f
Capabilities:
Get file version info

Disassembly:
push 0x98
mov eax, 0x42e82b
call fcn.0041033f
mov ebx, edx
mov esi, ecx
mov dword [ebp - 0x8c], esi
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [ebx + 0x14], 8
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x80], edi
jb 0x40d5b3
mov eax, dword [ebx]
jmp 0x40d5b5
mov eax, ebx
lea ecx, [ebp - 0x80]
push ecx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x40d5dc
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], edi
mov word [esi], ax
jmp 0x40d79c
push eax
lea ecx, [ebp - 0x98]
call fcn.0040c2c7
mov dword [ebp - 4], edi
cmp dword [ebx + 0x14], 8
jb 0x40d5f3
mov ebx, dword [ebx]
mov edi, dword [ebp - 0x98]
push edi
push dword [ebp - 0x9c]
push dword [ebp - 0x80]
push ebx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x40d623
mov dword [esi + 0x14], 7
and dword [esi + 0x10], 0
xor eax, eax
mov word [esi], ax
jmp 0x40d784
mov ebx, dword [sym.imp.VERSION.dll_VerQueryValueW]
xor eax, eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x8c]
push eax
push str.VarFileInfoTranslation
push edi
call ebx
test eax, eax
je 0x40d60e
and dword [ebp - 0x5c], 0
xor eax, eax
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
push 0x40
push eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 1
push eax
call fcn.00412c90
mov ecx, dword [ebp - 0x8c]
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
lea eax, [ebp - 0x54]
push str.StringFileInfo_04x_04x
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x54]
push eax
call fcn.00401124
add esp, 0x20
lea ecx, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004019b4
push 0x43b868
call fcn.00401124
pop ecx
push eax
push 0x43b868
lea ecx, [ebp - 0x6c]
call fcn.00404f03
push 0xffffffffffffffff
push 0
push dword [ebp - 0x70]
lea ecx, [ebp - 0x6c]
call fcn.00404fa7
cmp dword [ebp - 0x58], 8
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x84]
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push ecx
push eax
push edi
call ebx
test eax, eax
jne 0x40d708
and dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
push eax
jmp 0x40d77a
mov ecx, dword [ebp - 0x84]
xor ebx, ebx
mov eax, dword [ebp - 0x88]
mov byte [ebp - 0x70], bl
push dword [ebp - 0x70]
mov dword [ebp - 0x7c], ebx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x78], ebx
push eax
push ecx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x74], ebx
call fcn.0040d7fb
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
cmp eax, ecx
jne 0x40d751
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], ebx
mov word [esi], ax
jmp 0x40d771
cmp word [ecx - 2], bx
je 0x40d769
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], ebx
push eax
lea ecx, [ebp - 0x7c]
call fcn.0040d7a4
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, esi
call fcn.0040192c
lea ecx, [ebp - 0x7c]
call fcn.0040c759
push ebx
push 1
lea ecx, [ebp - 0x6c]
call fcn.0040195d
test edi, edi
je 0x40d79c
mov eax, dword [ebp - 0x90]
push 1
sub eax, edi
push eax
push edi
call fcn.004011e6
add esp, 0xc
mov eax, esi
call fcn.004102e9
ret