Function at 0x486308
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
lea ebx, [ebp - 0x64]
mov eax, 0x4c8aac
call fcn.004ad4bc
mov dword [ebx + 0x1c], 1
lea edx, [ebp + 0xc]
lea eax, [ebp + 0xc]
call fcn.004b7538
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 8
mov eax, dword [ebp + 0xc]
call fcn.0047a73c
test al, al
jne 0x4863a8
mov word [ebx + 0x10], 0x14
mov edx, 0x4c80aa
lea eax, [ebp - 4]
call fcn.004b7500
inc dword [ebx + 0x1c]
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.004b7690
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebx + 0x10], 0x20
push eax
lea eax, [ebp - 4]
dec dword [ebx + 0x1c]
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.004b7660
pop eax
mov word [ebx + 0x10], 0x14
inc dword [ebx + 0x1c]
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x48671f
xor ecx, ecx
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], ecx
mov word [ebx + 0x10], 8
push eax
cmp dword [ebp + 0xc], 0
je 0x4863c2
mov edx, dword [ebp + 0xc]
jmp 0x4863c7
mov edx, 0x4c80ab
push edx
call sub.VERSION.DLL_GetFileVersionInfoSizeA
mov esi, eax
push esi
call fcn.004ab63c
pop ecx
mov edi, eax
push edi
push esi
push 0
cmp dword [ebp + 0xc], 0
je 0x4863e7
mov eax, dword [ebp + 0xc]
jmp 0x4863ec
mov eax, 0x4c80ac
push eax
call sub.VERSION.DLL_GetFileVersionInfoA
test eax, eax
jne 0x486459
mov word [ebx + 0x10], 0x2c
mov edx, 0x4c80ad
lea eax, [ebp - 8]
call fcn.004b7500
inc dword [ebx + 0x1c]
lea edx, [ebp - 8]
mov eax, dword [ebp + 8]
call fcn.004b7690
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebx + 0x10], 0x38
push eax
lea eax, [ebp - 8]
dec dword [ebx + 0x1c]
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.004b7660
pop eax
mov word [ebx + 0x10], 0x2c
inc dword [ebx + 0x1c]
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x48671f
lea ecx, [ebp - 0x70]
push ecx
lea eax, [ebp - 0x6c]
push eax
push 0x4c80ae
push edi
call sub.VERSION.DLL_VerQueryValueA
test eax, eax
jne 0x4864d3
mov word [ebx + 0x10], 0x44
mov edx, 0x4c80b0
lea eax, [ebp - 0xc]
call fcn.004b7500
inc dword [ebx + 0x1c]
lea edx, [ebp - 0xc]
mov eax, dword [ebp + 8]
call fcn.004b7690
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebx + 0x10], 0x50
push eax
lea eax, [ebp - 0xc]
dec dword [ebx + 0x1c]
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.004b7660
pop eax
mov word [ebx + 0x10], 0x44
inc dword [ebx + 0x1c]
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x48671f
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ecx + 8]
mov edx, dword [edx + 0xc]
mov esi, eax
mov edi, eax
mov eax, edx
and dx, 0xffff
movzx edx, dx
shr eax, 0x10
movzx ecx, ax
and di, 0xffff
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], edx
xor eax, eax
shr esi, 0x10
lea edx, [ebp - 0x3c]
mov word [ebx + 0x10], 0x5c
movzx esi, si
movzx edi, di
mov dword [ebp - 0x3c], eax
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0x78]
call fcn.0047a4cc
lea edx, [ebp - 0x3c]
xor ecx, ecx
push edx
mov dword [ebp - 0x2c], ecx
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x74]
call fcn.0047a4cc
lea ecx, [ebp - 0x2c]
xor eax, eax
push ecx
mov dword [ebp - 0x1c], eax
inc dword [ebx + 0x1c]
mov eax, edi
lea edx, [ebp - 0x1c]
call fcn.0047a4cc
lea edx, [ebp - 0x1c]
xor ecx, ecx
push edx
mov dword [ebp - 0x10], ecx
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x10]
mov eax, esi
call fcn.0047a4cc
lea ecx, [ebp - 0x10]
push ecx
mov edx, 0x4c80b1
lea eax, [ebp - 0x14]
call fcn.004b7500
inc dword [ebx + 0x1c]
xor eax, eax
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x14]
inc dword [ebx + 0x1c]
lea ecx, [ebp - 0x18]
pop eax
call fcn.004b76b8
lea eax, [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x20]
inc dword [ebx + 0x1c]
pop edx
call fcn.004b76b8
lea eax, [ebp - 0x20]
push eax
mov edx, 0x4c80b3
lea eax, [ebp - 0x24]
call fcn.004b7500
inc dword [ebx + 0x1c]
xor eax, eax
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x24]
inc dword [ebx + 0x1c]
lea ecx, [ebp - 0x28]
pop eax
call fcn.004b76b8
lea eax, [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x30], edx
lea ecx, [ebp - 0x30]
inc dword [ebx + 0x1c]
pop edx
call fcn.004b76b8
lea eax, [ebp - 0x30]
push eax
mov edx, 0x4c80b5
lea eax, [ebp - 0x34]
call fcn.004b7500
inc dword [ebx + 0x1c]
xor eax, eax
mov dword [ebp - 0x38], eax
lea edx, [ebp - 0x34]
inc dword [ebx + 0x1c]
lea ecx, [ebp - 0x38]
pop eax
call fcn.004b76b8
lea eax, [ebp - 0x38]
xor edx, edx
mov dword [ebp - 0x40], edx
lea ecx, [ebp - 0x40]
inc dword [ebx + 0x1c]
pop edx
call fcn.004b76b8
lea edx, [ebp - 0x40]
mov eax, dword [ebp + 8]
call fcn.004b7690
mov eax, dword [ebp + 8]
mov edx, 2
mov word [ebx + 0x10], 0x68
push eax
lea eax, [ebp - 0x40]
dec dword [ebx + 0x1c]
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004b7660
dec dword [ebx + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.004b7660
pop eax
mov word [ebx + 0x10], 0x5c
inc dword [ebx + 0x1c]
mov edx, dword [ebx]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret