Function at 0x47cb44
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ecx
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040487c
xor eax, eax
push ebp
push 0x47cef6
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov eax, edi
call fcn.004043dc
mov eax, dword [ebp - 4]
call fcn.00408ccc
test al, al
je 0x47cec6
lea eax, [ebp - 0x28]
call fcn.004043dc
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
call fcn.0040488c
mov ebx, eax
push ebx
call sub.version.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jle 0x47cec6
mov eax, dword [ebp - 0x18]
call fcn.00402718
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x47cebf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
push eax
push ebx
call sub.version.dll_GetFileVersionInfoA
test eax, eax
je 0x47cea6
mov esi, 1
mov ebx, 0x486cd0
lea eax, [ebp - 0x24]
mov edx, dword [ebx]
call fcn.00404474
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x47cf08
mov eax, dword [ebp - 0x10]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x47cc70
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x20]
movzx eax, word [eax]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.004074fc
movzx eax, ax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x30], 0xb
lea edx, [ebp - 0x44]
mov ecx, 2
mov eax, 0x47cf2c
call fcn.004097b8
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
call fcn.00404474
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
call fcn.004048e4
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je case.0x47cd33.0
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x14]
call fcn.0040923c
mov al, byte [0x47cf4c]
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x47cf58
mov edx, 0x47cf64
mov eax, dword [ebp - 0x28]
call fcn.0040d4d0
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x28]
call fcn.00404474
mov al, byte [0x47cf4c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x47cf58
mov edx, 0x47cf70
mov eax, dword [ebp - 0x28]
call fcn.0040d4d0
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x28]
call fcn.00404474
mov al, byte [0x47cf4c]
push eax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x47cf58
mov edx, 0x47cf7c
mov eax, dword [ebp - 0x28]
call fcn.0040d4d0
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x28]
call fcn.00404474
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x28]
call fcn.0040893c
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x28]
call fcn.00404474
mov eax, esi
cmp eax, 0xa
ja case.0x47cd33.0
jmp dword [eax*4 + 0x47cd3a]
push dword [edi]
push 0x47cf88
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47cfa4
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47cfb4
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47cfc4
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47cfd4
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47cfe4
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47cff4
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47d004
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47d014
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
jmp case.0x47cd33.0
push dword [edi]
push 0x47d024
push dword [ebp - 0x28]
push 0x47cf98
mov eax, edi
mov edx, 4
call fcn.00404754
inc esi
add ebx, 4
cmp esi, 0xb
jne 0x47cc00
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47cec6
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00402738
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47cefd
lea eax, [ebp - 0x54]
mov edx, 4
call fcn.00404400
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404400
lea eax, [ebp - 4]
call fcn.004043dc
ret