Function at 0x424470
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b13
mov eax, dword [ecx]
push ebx
push esi
call dword [eax + 0xc]
push 0x5c
push dword [ebp + 8]
lea esi, [eax + 0x10]
mov dword [ebp - 4], esi
call fcn.0044c2da
mov edx, eax
add esp, 8
or ebx, 0xffffffff
test edx, edx
je 0x4244f0
mov ecx, dword [ebp + 8]
sub edx, ecx
sar edx, 1
test edx, edx
jle 0x4244f0
mov eax, dword [ecx - 0xc]
lea ecx, [ebp + 8]
sub eax, edx
dec eax
push eax
lea eax, [edx + 1]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004263e0
push eax
lea ecx, [ebp - 4]
call fcn.00409a20
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4244ed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 4]
push edi
mov edi, dword [esi - 0xc]
test edi, edi
js 0x424b1d
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or ecx, eax
jge 0x424519
push edi
lea ecx, [ebp - 4]
call fcn.004024d0
mov esi, dword [ebp - 4]
lea eax, [edi + 1]
push eax
push esi
call fcn.0046b5d9
add esp, 8
cmp edi, dword [esi - 8]
jg 0x424b1d
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 1
jle 0x42454f
push dword [eax - 0xc]
lea ecx, [ebp + 8]
call fcn.00402190
mov eax, dword [ebp + 8]
push 0
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov ecx, dword [ebp + 8]
mov edi, eax
push dword [ecx - 8]
push ecx
call fcn.00456760
mov edx, eax
add esp, 8
test edx, edx
js 0x424b1d
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx - 8]
jg 0x424b1d
mov dword [ecx - 0xc], edx
xor ecx, ecx
mov eax, dword [ebp + 8]
push edi
mov word [eax + edx*2], cx
call fcn.004688da
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x424ad9
mov ecx, dword [ebp + 8]
cmp dword [ecx - 4], 1
jle 0x4245b8
push dword [ecx - 0xc]
lea ecx, [ebp + 8]
call fcn.00402190
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
push eax
push edi
push 0
push ecx
call sub.VERSION.dll_GetFileVersionInfoW
mov eax, dword [ebp + 8]
push dword [eax - 8]
push eax
call fcn.00456760
mov edx, eax
add esp, 8
test edx, edx
js 0x424b1d
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx - 8]
jg 0x424b1d
mov dword [ecx - 0xc], edx
xor ecx, ecx
mov eax, dword [ebp + 8]
mov word [eax + edx*2], cx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], ecx
push eax
push str.VarFileInfoTranslation
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call sub.VERSION.dll_VerQueryValueW
cmp dword [ebp - 0xc], 0
je 0x424ad9
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b27
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 8], eax
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b31
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b3b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b45
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b4f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2c], eax
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b59
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
call fcn.00402250
mov ecx, eax
test ecx, ecx
je 0x424b63
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
push eax
lea eax, [ebp - 0x10]
push str.000_x
push eax
call fcn.0041ad10
mov edi, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x1c], eax
cmp eax, 4
jg 0x424708
add edi, 0xfffffff0
push edi
call fcn.00403380
add esp, 4
lea edi, [eax + 0x10]
mov dword [ebp - 0x1c], edi
jmp 0x42473c
mov ecx, dword [edi - 0x10]
test ecx, ecx
je 0x424718
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
jne 0x424724
call fcn.00402250
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c]
add edi, 0xfffffff8
push 4
lea eax, [edi + eax*2]
push eax
call fcn.00407360
mov edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.00409a20
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x42475f
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 2]
push eax
lea eax, [ebp - 0x10]
push str.000_x
push eax
call fcn.0041ad10
mov edi, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x1c], eax
cmp eax, 4
jg 0x424797
add edi, 0xfffffff0
push edi
call fcn.00403380
add esp, 4
lea edi, [eax + 0x10]
jmp 0x4247cb
mov ecx, dword [edi - 0x10]
test ecx, ecx
je 0x4247a7
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
jne 0x4247b3
call fcn.00402250
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c]
add edi, 0xfffffff8
push 4
lea eax, [edi + eax*2]
push eax
call fcn.00407360
mov edi, dword [ebp - 0x1c]
push dword [edi - 0xc]
lea ecx, [ebp - 0x18]
push edi
call fcn.00403910
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4247ee
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x18]
lea eax, [ebp - 8]
push str.StringFileInfo_sProductName
push eax
call fcn.0041ad10
mov edi, dword [ebp - 8]
mov ecx, 1
add esp, 0xc
mov eax, dword [edi - 8]
sub ecx, dword [edi - 4]
sub eax, 0x100
or ecx, eax
jge 0x424829
push 0x100
lea ecx, [ebp - 8]
call fcn.004024d0
mov edi, dword [ebp - 8]
cmp dword [edi - 8], 0x100
jl 0x424b6d
xor eax, eax
mov dword [edi - 0xc], 0x100
mov word [edi + 0x200], ax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
push dword [ebp - 0x14]
call sub.VERSION.dll_VerQueryValueW
push dword [edi - 8]
push edi
call fcn.00456760
add esp, 8
test eax, eax
js 0x424b1d
cmp eax, dword [edi - 8]
jg 0x424b1d
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
lea eax, [ebp - 0x10]
push dword [ebp - 0xc]
push 0x4a4b34
push eax
call fcn.0041ad10
push dword [ebp - 0x18]
lea eax, [ebp - 8]
push str.StringFileInfo_sOriginalFileName
push eax
call fcn.0041ad10
mov edi, dword [ebp - 8]
mov ecx, 1
add esp, 0x18
mov eax, dword [edi - 8]
sub ecx, dword [edi - 4]
sub eax, 0x100
or ecx, eax
jge 0x4248c9
push 0x100
lea ecx, [ebp - 8]
call fcn.004024d0
mov edi, dword [ebp - 8]
cmp dword [edi - 8], 0x100
jl 0x424b77
xor eax, eax
mov dword [edi - 0xc], 0x100
mov word [edi + 0x200], ax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
push dword [ebp - 0x14]
call sub.VERSION.dll_VerQueryValueW
push dword [edi - 8]
push edi
call fcn.00456760
add esp, 8
test eax, eax
js 0x424b1d
cmp eax, dword [edi - 8]
jg 0x424b1d
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
lea eax, [ebp - 0x24]
push dword [ebp - 0xc]
push 0x4a4b34
push eax
call fcn.0041ad10
push dword [ebp - 0x14]
call fcn.004688d5
push str.bluescreenhelper.exe
push esi
call fcn.0046b1da
add esp, 0x18
test eax, eax
je 0x424a26
push str.pcmasterdb.dll
push esi
call fcn.0046b1da
add esp, 8
test eax, eax
je 0x424a26
push str.saayaasetup.exe
push esi
call fcn.0046b1da
add esp, 8
test eax, eax
je 0x424a26
push str.saayaa.exe
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a26
push str.pcmastersetup.exe
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a26
push str.magictraysetup_s.exe
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a26
push str.magictraysetup.exe
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a26
push str.win8mastersetup.exe
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a26
push str.cooldocksetup.exe
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a26
mov eax, dword [0x4c10bc]
xor ebx, ebx
sub eax, dword [0x4c10b8]
sar eax, 2
test eax, eax
je 0x424a23
mov edi, dword [ebp - 0x24]
nop dword [eax]
push edi
lea ecx, [ebp - 4]
call fcn.0040ebb0
test eax, eax
je 0x424a20
mov eax, dword [0x4c10bc]
inc ebx
sub eax, dword [0x4c10b8]
sar eax, 2
cmp ebx, eax
jb 0x424a00
mov edi, dword [ebp - 8]
or ebx, 0xffffffff
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424a40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424a5a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424a74
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424a8e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424aa8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424ac2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x424ad9
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
pop edi
test eax, eax
jg 0x424af1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
pop esi
test ebx, ebx
pop ebx
jg 0x424b0b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00402080
push 0x80070057
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80004005
call fcn.00402080
push 0x80070057
call fcn.00402080
push 0x80070057
call fcn.00402080
int3