Function at 0x4fbe20
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56a97a
mov eax, dword fs:[0]
push eax
sub esp, 0x484
mov eax, dword [0x5b3680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x490], edx
mov edi, ecx
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x48c], 0
jb 0x4fbe6a
mov eax, dword [edi]
jmp 0x4fbe6c
mov eax, edi
lea ecx, [ebp - 0x48c]
push ecx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov ebx, eax
test ebx, ebx
jne 0x4fbe87
xor al, al
jmp 0x4fc787
lea eax, [ebp - 0x475]
mov byte [ebp - 0x475], 0
push eax
push ebx
lea ecx, [ebp - 0x488]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0
mov dword [ebp - 0x480], 0
call fcn.0041a930
mov dword [ebp - 4], 0
cmp dword [edi + 0x14], 8
jb 0x4fbece
mov edi, dword [edi]
mov esi, dword [ebp - 0x488]
push esi
push ebx
push 0
push edi
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x4fc751
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x474], 0
push eax
lea eax, [ebp - 0x474]
mov dword [ebp - 0x47c], 0
push eax
push str.VarFileInfoTranslation
push esi
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x4fc751
mov ebx, dword [ebp - 0x47c]
xor edi, edi
shr ebx, 2
test ebx, ebx
jle 0x4fc74d
lea ecx, [ebp - 0x470]
call fcn.004fbbb0
mov byte [ebp - 4], 1
xor eax, eax
push 0x1fc
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00531bd0
add esp, 0xc
lea eax, [ebp - 0x210]
push 0xff
push eax
mov eax, dword [ebp - 0x474]
movzx eax, word [eax + edi*4]
push eax
call dword [sym.imp.KERNEL32.dll_VerLanguageNameW]
cmp word [ebp - 0x210], 0
jne 0x4fbf88
xor ecx, ecx
jmp 0x4fbfa0
lea ecx, [ebp - 0x210]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4fbf91
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x46c]
call fcn.00413ad0
mov eax, dword [ebp - 0x474]
push 8
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0
lea ecx, [eax + edi*4]
mov dword [ebp - 0x2d4], 7
movzx eax, word [ecx]
mov word [ebp - 0x470], ax
movzx eax, word [ecx + 2]
lea ecx, [ebp - 0x2e8]
mov word [ebp - 0x46e], ax
xor eax, eax
push str.Comments
mov dword [ebp - 0x2d8], 0
mov word [ebp - 0x2e8], ax
call fcn.00413ad0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x2e8]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2d4], 8
jb 0x4fc05d
push dword [ebp - 0x2e8]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x2d4], 7
push 0xb
mov dword [ebp - 0x2a8], eax
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x2a4], eax
push 0x589adc
mov dword [ebp - 0x2d8], 0
mov word [ebp - 0x2e8], ax
mov dword [ebp - 0x2a4], 7
mov dword [ebp - 0x2a8], eax
mov word [ebp - 0x2b8], ax
call fcn.00413ad0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x2b8]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2a4], 8
jb 0x4fc0f8
push dword [ebp - 0x2b8]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x2a4], 7
push 0xf
mov dword [ebp - 0x308], eax
lea ecx, [ebp - 0x318]
mov dword [ebp - 0x304], eax
push 0x589a90
mov dword [ebp - 0x2a8], 0
mov word [ebp - 0x2b8], ax
mov dword [ebp - 0x304], 7
mov dword [ebp - 0x308], eax
mov word [ebp - 0x318], ax
call fcn.00413ad0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x318]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x304], 8
jb 0x4fc193
push dword [ebp - 0x318]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x304], 7
push 0xb
mov dword [ebp - 0x218], eax
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x214], eax
push 0x589ab0
mov dword [ebp - 0x308], 0
mov word [ebp - 0x318], ax
mov dword [ebp - 0x214], 7
mov dword [ebp - 0x218], eax
mov word [ebp - 0x228], ax
call fcn.00413ad0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x228]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x214], 8
jb 0x4fc22e
push dword [ebp - 0x228]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x214], 7
push 0xc
mov dword [ebp - 0x230], eax
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x22c], eax
push 0x589a54
mov dword [ebp - 0x218], 0
mov word [ebp - 0x228], ax
mov dword [ebp - 0x22c], 7
mov dword [ebp - 0x230], eax
mov word [ebp - 0x240], ax
call fcn.00413ad0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x3f4]
push eax
lea eax, [ebp - 0x240]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x22c], 8
jb 0x4fc2c9
push dword [ebp - 0x240]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x22c], 7
push 0xe
mov dword [ebp - 0x248], eax
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x244], eax
push 0x589a70
mov dword [ebp - 0x230], 0
mov word [ebp - 0x240], ax
mov dword [ebp - 0x244], 7
mov dword [ebp - 0x248], eax
mov word [ebp - 0x258], ax
call fcn.00413ad0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x3dc]
push eax
lea eax, [ebp - 0x258]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x244], 8
jb 0x4fc364
push dword [ebp - 0x258]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x244], 7
push 0xf
mov dword [ebp - 0x290], eax
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x28c], eax
push str.LegalTrademarks
mov dword [ebp - 0x248], 0
mov word [ebp - 0x258], ax
mov dword [ebp - 0x28c], 7
mov dword [ebp - 0x290], eax
mov word [ebp - 0x2a0], ax
call fcn.00413ad0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x2a0]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x28c], 8
jb 0x4fc3ff
push dword [ebp - 0x2a0]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x28c], 7
push 0x10
mov dword [ebp - 0x2c0], eax
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x2bc], eax
push 0x589a30
mov dword [ebp - 0x290], 0
mov word [ebp - 0x2a0], ax
mov dword [ebp - 0x2bc], 7
mov dword [ebp - 0x2c0], eax
mov word [ebp - 0x2d0], ax
call fcn.00413ad0
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x2d0]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2bc], 8
jb 0x4fc49a
push dword [ebp - 0x2d0]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x2bc], 7
push 0xc
mov dword [ebp - 0x2f0], eax
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2ec], eax
push 0x5899dc
mov dword [ebp - 0x2c0], 0
mov word [ebp - 0x2d0], ax
mov dword [ebp - 0x2ec], 7
mov dword [ebp - 0x2f0], eax
mov word [ebp - 0x300], ax
call fcn.00413ad0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x394]
push eax
lea eax, [ebp - 0x300]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2ec], 8
jb 0x4fc535
push dword [ebp - 0x300]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x2ec], 7
push 0xb
mov dword [ebp - 0x320], eax
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x31c], eax
push 0x5899f8
mov dword [ebp - 0x2f0], 0
mov word [ebp - 0x300], ax
mov dword [ebp - 0x31c], 7
mov dword [ebp - 0x320], eax
mov word [ebp - 0x330], ax
call fcn.00413ad0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x37c]
push eax
lea eax, [ebp - 0x330]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x31c], 8
jb 0x4fc5d0
push dword [ebp - 0x330]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x31c], 7
push 0xe
mov dword [ebp - 0x278], eax
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x274], eax
push 0x5899a0
mov dword [ebp - 0x320], 0
mov word [ebp - 0x330], ax
mov dword [ebp - 0x274], 7
mov dword [ebp - 0x278], eax
mov word [ebp - 0x288], ax
call fcn.00413ad0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x288]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x274], 8
jb 0x4fc66b
push dword [ebp - 0x288]
call fcn.005295dd
add esp, 4
xor eax, eax
mov dword [ebp - 0x274], 7
push 0xc
mov dword [ebp - 0x260], eax
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x25c], eax
push str.SpecialBuild
mov dword [ebp - 0x278], 0
mov word [ebp - 0x288], ax
mov dword [ebp - 0x25c], 7
mov dword [ebp - 0x260], eax
mov word [ebp - 0x270], ax
call fcn.00413ad0
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x474]
mov dx, word [eax + edi*4]
lea ecx, [eax + edi*4]
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x270]
push eax
movzx eax, word [ecx + 2]
mov ecx, esi
push eax
call fcn.004fbd20
add esp, 0xc
mov byte [ebp - 4], 1
cmp dword [ebp - 0x25c], 8
jb 0x4fc706
push dword [ebp - 0x270]
call fcn.005295dd
add esp, 4
mov ecx, dword [ebp - 0x490]
xor eax, eax
mov word [ebp - 0x270], ax
lea eax, [ebp - 0x470]
push eax
mov dword [ebp - 0x25c], 7
mov dword [ebp - 0x260], 0
call fcn.004fc7b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x470]
call fcn.0041b820
inc edi
cmp edi, ebx
jl 0x4fbf30
mov bl, 1
jmp 0x4fc753
xor bl, bl
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4fc785
push esi
call fcn.005295dd
add esp, 4
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0
mov dword [ebp - 0x480], 0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005295e2
mov esp, ebp
pop ebp
ret