Function at 0x4bf131
Capabilities:
Get file version info

Disassembly:
push 0x7c
mov eax, 0x554e82
call fcn.0053655e
mov ebx, dword [ebp + 8]
xor edi, edi
mov esi, dword [ebp + 0xc]
mov ecx, ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x84], edi
call fcn.0044f640
cmp dword [esi + 0x14], 8
mov eax, esi
mov dword [ebp - 4], edi
mov dword [ebp - 0x84], 1
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x60], edi
jb 0x4bf178
mov eax, dword [esi]
lea ecx, [ebp - 0x6c]
push ecx
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test edi, edi
je 0x4bf634
push edi
call fcn.00536606
cmp dword [esi + 0x14], 8
pop ecx
mov dword [ebp - 0x68], eax
jb 0x4bf19e
mov esi, dword [esi]
push eax
push edi
push dword [ebp - 0x6c]
push esi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x4bf62b
xor ebx, ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
push 0x5756e0
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
call fcn.00401cd4
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x80]
call fcn.00404ce1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0040257a
lea eax, [ebp - 0x70]
mov dword [ebp - 0x74], ebx
push eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x70], ebx
push eax
push str.VarFileInfoTranslation
push dword [ebp - 0x68]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4bf268
mov esi, dword [ebp - 0x70]
test esi, esi
je 0x4bf268
shr esi, 2
mov edi, ebx
test esi, esi
je 0x4bf268
mov ecx, dword [ebp - 0x74]
movzx eax, word [ecx + edi*4 + 2]
push eax
movzx eax, word [ecx + edi*4]
push eax
lea eax, [ebp - 0x3c]
push str._04x_04x
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x28]
push eax
call fcn.00401cd4
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x80]
call fcn.00404ce1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0040257a
inc edi
cmp edi, esi
jl 0x4bf21b
mov ebx, dword [ebp - 0x80]
mov esi, ebx
mov edi, dword [ebp - 0x7c]
jmp 0x4bf2ff
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
call fcn.00403913
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 4
push str.StringFileInfo_
push eax
call fcn.0040469f
push str.CompanyName
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 5
push eax
call fcn.004030d5
add esp, 0x18
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 7
call fcn.0040257a
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
push dword [ebp - 0x68]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4bf2e8
cmp dword [ebp - 0x5c], 0
jne 0x4bf309
lea ecx, [ebp - 0x40]
call fcn.0040257a
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0040257a
add esi, 0x18
cmp esi, edi
jne 0x4bf275
jmp 0x4bf332
mov esi, dword [ebp - 0x60]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
pop ecx
mov ecx, dword [ebp - 0x64]
push eax
push esi
call fcn.0040261b
lea ecx, [ebp - 0x40]
call fcn.0040257a
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0040257a
mov esi, ebx
jmp 0x4bf3c3
and dword [ebp - 0x30], 0
lea ecx, [ebp - 0x40]
and dword [ebp - 0x2c], 0
push esi
call fcn.00403913
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 8
push str.StringFileInfo_
push eax
call fcn.0040469f
push str.FileDescription
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
call fcn.004030d5
add esp, 0x18
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xb
call fcn.0040257a
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
push dword [ebp - 0x68]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4bf3ac
cmp dword [ebp - 0x5c], 0
jne 0x4bf3cd
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
add esi, 0x18
cmp esi, edi
jne 0x4bf339
jmp 0x4bf3f9
mov esi, dword [ebp - 0x60]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
pop ecx
mov ecx, dword [ebp - 0x64]
push eax
push esi
lea ecx, [ecx + 0x18]
call fcn.0040261b
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
mov esi, ebx
jmp 0x4bf48a
and dword [ebp - 0x30], 0
lea ecx, [ebp - 0x40]
and dword [ebp - 0x2c], 0
push esi
call fcn.00403913
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xc
push str.StringFileInfo_
push eax
call fcn.0040469f
push str.InternalName
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
call fcn.004030d5
add esp, 0x18
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xf
call fcn.0040257a
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
push dword [ebp - 0x68]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4bf473
cmp dword [ebp - 0x5c], 0
jne 0x4bf494
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
add esi, 0x18
cmp esi, edi
jne 0x4bf400
jmp 0x4bf4c0
mov esi, dword [ebp - 0x60]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
pop ecx
mov ecx, dword [ebp - 0x64]
push eax
push esi
lea ecx, [ecx + 0x30]
call fcn.0040261b
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
mov esi, ebx
jmp 0x4bf551
and dword [ebp - 0x30], 0
lea ecx, [ebp - 0x40]
and dword [ebp - 0x2c], 0
push esi
call fcn.00403913
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x10
push str.StringFileInfo_
push eax
call fcn.0040469f
push str.OriginalFilename
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x11
push eax
call fcn.004030d5
add esp, 0x18
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x13
call fcn.0040257a
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
push dword [ebp - 0x68]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4bf53a
cmp dword [ebp - 0x5c], 0
jne 0x4bf55b
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
add esi, 0x18
cmp esi, edi
jne 0x4bf4c7
jmp 0x4bf587
mov esi, dword [ebp - 0x60]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
pop ecx
mov ecx, dword [ebp - 0x64]
push eax
push esi
lea ecx, [ecx + 0x48]
call fcn.0040261b
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
cmp ebx, edi
je 0x4bf620
xor esi, esi
push ebx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.00403913
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x5c], esi
push str.StringFileInfo_
push eax
call fcn.0040469f
push str.ProductName
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x15
push eax
call fcn.004030d5
add esp, 0x18
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x17
call fcn.0040257a
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
push dword [ebp - 0x68]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4bf601
cmp dword [ebp - 0x5c], 0
jne 0x4bf63c
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040257a
add ebx, 0x18
cmp ebx, edi
jne 0x4bf591
mov ebx, dword [ebp - 0x64]
lea ecx, [ebp - 0x80]
call fcn.00403ae4
push dword [ebp - 0x68]
call fcn.0053660f
pop ecx
mov eax, ebx
call fcn.00536508
ret
mov esi, dword [ebp - 0x60]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
mov ebx, dword [ebp - 0x64]
pop ecx
push eax
push esi
lea ecx, [ebx + 0x60]
call fcn.0040261b
lea ecx, [ebp - 0x28]
call fcn.0040257a
lea ecx, [ebp - 0x40]
call fcn.0040257a
jmp 0x4bf623