Function at 0x5663b0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov byte [ebp - 0xe4], dl
mov byte [ebp - 0xe0], cl
mov eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
movzx ecx, word [ebp + 0x10]
cmp ecx, 0xa36
jle 0x5663e8
mov edx, dword [ebp + 0xc]
add edx, dword [ebp + 8]
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x68]
call fcn.004012d0
mov al, byte [ebp - 0xe4]
mov byte [ebp - 0xe8], al
cmp byte [ebp - 0xe8], 0x13
je 0x5663ff
jmp 0x56640a
mov ecx, dword [ebp + 8]
sub ecx, dword [ebp + 0xc]
mov dword [ebp - 0x68], ecx
jmp 0x566479
mov dx, word [ebp + 0x10]
mov word [ebp - 0x88], dx
movzx eax, word [ebp - 0x88]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x566436
cmp dword [ebp - 0xec], 0x76
je 0x56646d
jmp 0x566479
mov ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp + 8]
je 0x56646b
lea edx, [ebp - 0x48]
push edx
call dword [sym.imp.COMCTL32.dll_PropertySheetA]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd0], 0x38dc
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetA]
mov dword [ebp - 0x64], eax
jmp 0x566479
mov cl, byte [0x56f204]
mov byte [ebp - 0xe4], cl
mov edx, 0x196
mov word [ebp - 0xcc], dx
lea eax, [ebp - 0x68]
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x64]
xor edx, 0x2b42
cmp edx, dword [ebp - 0xd0]
jl 0x5664f8
mov al, byte [ebp - 0xe0]
mov byte [ebp - 0xf0], al
cmp byte [ebp - 0xf0], 0
je 0x5664b9
jmp 0x5664d8
mov cl, byte [ebp - 0xe0]
mov byte [ebp - 0xbd], cl
mov dx, word [ebp - 0x88]
mov word [ebp - 0x70], dx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10], eax
jmp 0x5664f3
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.004016d0
add esp, 4
jmp 0x566596
movsx edx, word [ebp - 0xcc]
cmp edx, 0x11b
jne 0x566596
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
mov dl, byte [ebp - 0xbd]
mov byte [ebp - 0xf4], dl
cmp byte [ebp - 0xf4], 0x3c
je 0x566533
cmp byte [ebp - 0xf4], 0x53
je 0x566589
jmp 0x566596
lea eax, [ebp - 0x68]
push eax
push fcn.004016d0
mov ecx, dword [ebp - 0x80]
push ecx
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x68]
shl edx, cl
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0xcc]
push ecx
push fcn.00566370
mov edx, dword [ebp - 0xd8]
push edx
call sub.COMCTL32.dll_RemoveWindowSubclass
mov dword [ebp - 0xd4], eax
jmp 0x566596
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x5665ae
jmp 0x566790
movzx edx, word [ebp - 0x70]
movzx ecx, word [ebp - 0x88]
sar edx, cl
movzx eax, word [ebp + 0x10]
cmp edx, eax
jle 0x566650
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp + 0xc]
add eax, dword [edx]
cmp ecx, eax
jb 0x56664e
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
push 0x2d
lea eax, [ebp - 0xd4]
push eax
push fcn.005662b0
mov ecx, dword [ebp - 0xd8]
push ecx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x7c], eax
movsx edx, word [ebp - 0xcc]
mov dword [ebp - 0xfc], edx
cmp dword [ebp - 0xfc], 0x398
je 0x56661c
jmp 0x566643
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp + 0xc]
push ecx
movzx edx, word [ebp - 0xcc]
push edx
movzx eax, word [ebp - 0xcc]
push eax
call fcn.00401c70
add esp, 0xc
jmp 0x56664e
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
jmp 0x566676
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov cx, word [ebp - 0x88]
mov word [ebp - 0xdc], cx
mov dl, byte [ebp - 0xbd]
mov byte [ebp - 9], dl
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x60], eax
movzx ecx, word [ebp + 0x10]
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x100], 0x1ab
je 0x566691
jmp 0x56672a
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xd0], edx
movzx eax, byte [ebp - 9]
movzx ecx, byte [ebp - 0xe0]
add eax, ecx
mov byte [ebp - 0xbd], al
mov edx, dword [ebp - 0x60]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xcc]
sub eax, ecx
mov edx, dword [ebp - 0x60]
mov word [edx], ax
mov al, byte [ebp - 9]
mov byte [ebp - 0x104], al
cmp byte [ebp - 0x104], 0xd
je 0x5666d6
jmp 0x5666d8
jmp 0x5666f5
push 0xf7
lea ecx, [ebp - 0x68]
push ecx
push fcn.00401c70
mov edx, dword [ebp - 0xd8]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x5c], eax
push 1
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.COMCTL32.dll_LBItemFromPt]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0xc]
add eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x64], ecx
jmp 0x566733
lea edx, [ebp - 0x68]
mov dword [ebp - 0x84], edx
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xe0]
and eax, ecx
mov byte [ebp - 9], al
lea edx, [ebp - 0x70]
push edx
push 0x83
push 0xe2
mov eax, dword [ebp - 0xc4]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
movzx eax, byte [0x56f204]
push eax
movzx ecx, byte [ebp - 0xe4]
push ecx
movzx edx, byte [0x56f204]
push edx
call fcn.005668b0
jmp 0x56683a
push 0xc3
push 0x2d
push 0xed
mov eax, dword [ebp - 4]
push eax
call sub.COMCTL32.dll_DefSubclassProc
mov dword [ebp - 0xc8], eax
movsx ecx, word [ebp - 0xcc]
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 0x234
je 0x5667c6
jmp 0x566832
mov dl, byte [ebp - 0xbd]
mov byte [ebp - 0xe0], dl
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x64]
shl edx, cl
cmp edx, dword [ebp - 0x10]
jne 0x566824
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x68]
or ecx, dword [eax]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x68]
mov dword [ebp + 0xc], eax
push 0
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.COMCTL32.dll_LBItemFromPt]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
jmp 0x566830
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004016d0
add esp, 4
jmp 0x56683a
mov dx, word [ebp - 0x70]
mov word [ebp + 0x10], dx
mov al, byte [0x56f204]
mov byte [ebp - 0xe4], al
movsx ecx, word [ebp - 0xcc]
add ecx, 0x360
mov word [ebp - 0xcc], cx
lea edx, [ebp - 0x70]
push edx
lea eax, [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x68]
push edx
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0xe0]
add eax, 0xb3
mov byte [ebp - 0xbd], al
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
movsx eax, byte [0x56f204]
mov esp, ebp
pop ebp
ret 0xc